독서일지/클린 코드

클린 코드 독서일지 - Day 37

Sadie Kim 2023. 12. 13. 12:49

리팩터링 과정 2

  • 일반적으로 기반 클래스(부모 클래스)는 파생 클래스(자식 클래스)를 몰라야 바람직
    => ABSTRACT FACTORY 패턴을 적용해 DayDateFactory를 생성 => DayDate 인스턴스를 생성하는 클래스를 분리.
  • createInstance 메서드를 좀 더 서술적인 makeDate라는 이름으로 변경
  • 변수를 적절한 클래스로 옮김
  • 상수를 enum으로 변경
  • 변수 이름만으로 의미가 확실한 주석 삭제
  • 사용하지 않는 변수, 메서드 등 제거
  • 변수가 사용되는 위치에 가깝게 옮김
  • 이름 변경
  • 기본 생성자 제거
  • final 키워드 제거
  • 로직을 옮기며 클래스 내의 일부 코드가 독자성을 갖고 커지면 클래스에서 빼내 별도의 소스 파일로 분리
  • 서술적인 코드로 변환하며 가독성 높임
  • 복잡한 알고리즘의 경우 임시 변수 설명을 사용해 읽기 쉽게 수정
  • 메서드 이름이 모호할 경우 의도를 잘 반영하는 새 이름 적용

IDE에서 제공하는 리팩터링 도구를 적극 활용한다.