Clean Code 16장 - SerialDate 리팩토링
2022-02-08 00:00:00 # Clean_Code
  • 첫째, 돌려보자
  • 둘째, 고쳐보자
  • 결론

  • JCommon 라이브러리 중 org.jfree.date 패키지 안에 있는 SerialDate라는 클래스를 살펴보기
  • SerialDate가 잘못 짜여진 코드라기 보단 개선하려는 행동이 자연스러운 것이니 받아들여라!!!
  • 날짜를 표현하는 자바 클래스

첫째, 돌려보자

  • SerialDateTest라는 클래스는 단위 테스트 케이스를 몇 개 포함한다.
  • 실패하는 케이스는 없지만 모든 경우를 점검하지 않는다는 사실이 드러난다.
  • 저자는 SerialDateTest.java에 있는 모든 테스트 케이스가 통과할 수 있게 만들었다.
  • 아직 SerialDate.java를 고친 것은 아니다.
  • Clover라는 Code Coverage 분석 도구를 사용했다고 한다.
  • 처음엔 185개의 단위 테스트 중 91개만 실행하고 있었고, 이를 전부 테스트하도록 수정한 것 같다.
  • SerialDate 클래스를 보면서 빠진 테스트가 없는지까지 확인한 것 같다.

둘째, 고쳐보자

  • 좀더 읽기 쉽고, 애매한 표현들을 고치면서 클린 코드를 만들어내는 과정에 집중하며 리팩토링 과정을 진행하는 과정이 서술되어있음.

결론

  • 결국 보이스카우트 규칙을 따랐다는 것에 집중함
  • 테스트 커버리지를 높이고, 버그를 고쳤으며, 코드 크기가 줄었고, 코드가 명확해졌다..고 한다.
  • 그 다음 사람이 코드를 더 쉽게 개선할 수 있게 되었다며 좋아하는 것 같다.