Clean Code 3판을 읽고 정리한 글입니다
XVI. SerialDate 리팩터링
SerialDate
- JCommon 라이브러리의
org.jfree.date
라는 패키지 이하 - https://github.com/jfree/jcommon/blob/master/src/main/java/org/jfree/date/SerialDate.java
- https://github.com/jfree/jcommon/pull/6
- 아예 대놓고 클린코드 내용대로 리팩토링후 풀리퀘를 보낸 내용
- Fork 저장소 : https://github.com/rkaehdaos/jcommon
- Fork 실제 작업 프로젝트 : https://github.com/rkaehdaos/jcommon/projects/2
첫째, 돌려보자
- https://github.com/rkaehdaos/jcommon/issues/2
- 테스트가 이렇게 중요하다.
둘째, 고쳐보자
- https://github.com/rkaehdaos/jcommon/issues/5
- 변경 이력 삭제
- 전략패턴+팩토리 메서드 패턴으로 다형성으로 커버 안되는 부분 처리부분
결론
- 테스트 내용에서 일단 충격
- 개인적으로는 되는 부분은 하나만 테스트하고 경계만 테스트했었는데..
- 반성 반성
Related POST
- [Clean Code] Ⅰ. 깨끗한 코드
- [Clean Code] Ⅱ.의미 있는 이름
- [Clean Code] Ⅲ. 함수
- [Clean Code] Ⅳ. 주석
- [Clean Code] Ⅴ. 형식 맞추기
- [Clean Code] Ⅵ. 객체와 자료구조
- [Clean Code] Ⅶ. 오류 처리
- [Clean Code] Ⅷ. 경계
- [Clean Code] Ⅸ. 단위 테스트
- [Clean Code] Ⅹ. 클래스
- [Clean Code] Ⅺ. 시스템
- [Clean Code] Ⅻ. 창발성(創發性)
- [Clean Code] XIII. 동시성
- [Clean Code] XIV. 점진적 개선(SUCCESSIVE REFINEMENT)
- [Clean Code] XV. JUnit 들여다보기
- [Clean Code] XVI. SerialDate 리팩터링
- [Clean Code] XVII. 냄새와 휴리스틱
- [Clean Code] 다 읽었다~