워밍업 클럽 3기 BE 클린코드 2주차 발자국
이번주는 중간점검 시간에 우빈님의 러너분들 코드리뷰시간이 있었다. 나는 원하는 만큼 충분히 리팩토링을 진행하지 못해서 코드리뷰 신청을 하진 않았지만 다른 분들의 코드리뷰 내용을 보며 정말 많은 인사이트를 얻을 수 있었다. 무려 두시간 가까이 라이브를 진행해주신 우빈님께 정말 감사드린다.
코드리뷰를 받은 러너분 중 나와 유사한 코드를 작성하신 분이 계셨다. 카페이용권 Enum의 필드로 입력값 (1, 2, 3)을 두고 관리하는 코드를 작성 하였는데, 사실 코드를 작성 하면서도 긴가민가 했다.
이 부분에 대해 우빈님께서 input과 관련된 내용에 대해 가장 핵심적인 model이 의존성을 가지면 안된다고 하셨다.
지금은 1, 2, 3 의 입력값으로 받지만 a, b, c 등 바뀔 수 있고, 바뀐 경우 input과 관련된 사항을 model에 가서 바꾸는 건 이상한 것이다.
FileHandler 부분에서도 나와 유사한 경우가 있었다. 코드 리뷰를 받으신 분은 FileHandler가 사용되는 클래스에 상수로 이를 선언하여 초기에 파일을 모두 읽어 오도록 작성하셨다.
나는 FileHandler 생성자 내에 파일을 불러오는 메서드를 두어 객체 생성시 파일을 모두 읽어 오도록 하였다.
우빈님께서 초기에 파일을 모두 불러온다는 접근은 좋은데, 이런 경우 프로그램 실행 중 해당 정보를 어떻게 생성/수정/삭제 할 것인지 추가적인 고민이 필요하다고 하셨다.
코드리뷰 외에 강의 내용 중 내 기존 사고를 벗어나게 된 기억에 남는 점은 추상화 수준을 맞추는 것이 메서드 분리의 기준이 되기에 아무리 작은 코드량이라도 메서드 분리를 할 수 있다는 것이었다.
depth 줄이기는 보이는 depth 줄이기가 절대 진리가 아니고 보다 중요한건 사고의 depth 줄이기!
2주가 정말 빠르게 지나갔는데 처음 마음 만큼 더 열심히 하지 못했다는 아쉬움이 남는다. 벌써 절반이 지났으니, 남은 절반은 후회 없이 열심히 해야겠다.
댓글을 작성해보세요.