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 클래스를 보면서 빠진 테스트가 없는지까지 확인한 것 같다.
둘째, 고쳐보자
- 좀더 읽기 쉽고, 애매한 표현들을 고치면서 클린 코드를 만들어내는 과정에 집중하며 리팩토링 과정을 진행하는 과정이 서술되어있음.
결론
- 결국 보이스카우트 규칙을 따랐다는 것에 집중함
- 테스트 커버리지를 높이고, 버그를 고쳤으며, 코드 크기가 줄었고, 코드가 명확해졌다..고 한다.
- 그 다음 사람이 코드를 더 쉽게 개선할 수 있게 되었다며 좋아하는 것 같다.