🎁 모든 강의 30% + 무료 강의 선물🎁

워밍업 클럽 3기 BE 클린코드 (2주차 발자국) - 값진 경험을 하다

값진 경험을 하다

대학교 때부터, 취준시절, 그리고 실무를 하고 있는 현재까지 단 한번도 객체지향적인 사고 방식으로 리팩토링을 하겠다고 마음먹었던 적은 없었다. 하지만 이번주에 처음으로 객체지향을 적용시키는 경험을 하였고, 이는 굉장히 값진 경험이었다.

 

배웠던 내용을 요약하자면..

지난주 커리큘럼은 이론 위주였다면, 이번 주 커리큘럼에서 배울 수 있었던 것은 미션을 통한 리팩토링 실전 경험이었다.

리팩토링/클린코드에 필요한 자잘한 팁 (주석, 패키지 분리 등등..) 도 배울 수 있었지만 미션에서 얻었던 지식 적용 경험(?) 이 나에게는 가장 큰 수확이었다. 미션과정에서 느꼈던 감정은 아래에 정리해보도록 하겠다.

미션 과정에서 느꼈던 점

3일정도 미션 내용을 수행하기 위해 노력했기에 그만큼 얻었던 점들이 많았던 것 같다.

특히 중복 로직 제거, 일급 컬렉션 적용, 추상화의 수준을 맞추는 메서드 추출 경험은 나 자신에게 칭찬할만한 경험이라고 생각했다. 실제로 지식공유자이신 박우빈님과 일치된 생각으로 비슷하게 리팩토링이 이루어졌다는 것을 확인했을 때, 참 뿌듯했다. 또한, 일급 컬렉션이라는 개념 자체를 이번 강의에서 처음 알게 되었는데 이를 실제 리팩토링 과정에 적용해보면서 필요 이유를 직접적으로 느끼게 되면서 실무에도 적용해보는 순간을 기대하는 중이다.

하지만, 부족했던 점도 도드라졌다. 특히 SRP/OCP부분이다. 나름대로 객체의 역할을 분리하기 위해 노력했는데 생각보다 이를 적용한 포인트는 한,두군데 밖에 되지 않았다. 고작 csv 파일을 parsing하기 위한 CsvParser 객체를 둔 점..? 그정도인데, 내가 생각했던 것 보다 기존 코드에서 객체의 역할을 분리할 곳이 훨씬 많았다는 점에서 좀 아쉬웠다. 뭔가 기존 코드를 바라보는 습관때문이었던 것 같다. 한번도 객체지향적으로 리팩토링해보려고 하지 않았으니, 이러한 시야가 트이지 않았던 점이 문제가 아닐까 싶다. 그래서 지금부터라도 그런 시야를 키워보기로 했다!
그리고 지식고유자님이 StudyCafePass라는 인터페이스를 두고 SeatPass와 LockerPass를 구현한 점에서 신선한 충격을 느꼈다. 아, 이래서 인터페이스를 쓰는거구나 라는 확실한 감이 생겨서 비록 실질적으로 내가 구현한 내용은 아니지만, 왠지 모르게 나도 다음엔 이렇게 해볼 수 있을 것 같다. 라는 자신감을 가졌다!

 

좋은 경험을 할 수 있었던 한주였다.

다음주부터 테스트코드를 작성해볼 텐데, 기존에 내가 테스트코드에 대해 가지고 있던 상식들이 또 어떻게 부숴질지 기대하는 중이다.

 

 

댓글을 작성해보세요.


채널톡 아이콘