클린코드 15~16장 - JUnit 들여다보기, SerialDate 리팩터링

Seoyoung Lee·2022년 6월 27일
0

Clean Code

목록 보기
11/12
post-thumbnail

15장

15장에서는 자바 프레임워크인 JUnit 프레임워크 코드 중 ComparisionCompactor 라는 모듈을 살펴본다.

우리는 보이스카우트 규칙에 따라 이 모듈의 코드를 더 깨끗하게 정리해야 한다.

💡 보이스카우트 규칙 - 캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라.

책에서는 코드를 개선하기 위해 다음과 같은 작업들을 수행한다.

  • 변수 앞에 붙은 접두어를 제거한다.
  • 의도를 명확히 표현하기 위해 조건문은 캡슐화한다. 즉, 조건문을 따로 메서드로 뽑아내고 적절한 이름을 짓는다.
  • 중복되는 변수 이름을 수정해서 더욱 의미를 명확하게 표현한다.
  • 조건문을 긍정문으로 반전시킨다.
  • 함수 이름을 가독성 있게 수정한다.
  • 수행하는 일이 다른 함수를 따로 분리한다.

16장

16장에서는 SerialDate 라는 JCommon 라이브러리의 클래스를 리팩토링한다.

첫째, 돌려보자

SerialDateTests 라는 클래스는 실패하는 테스트 케이스는 없지만 모든 경우를 테스트하지 않는다. 클래스에 대한 철저한 이해와 리팩토링을 위해서는 훨씬 높은 테스트 커버리지가 필요하다. 따라서 저자는 독자적인 단위 테스트를 구현한다.

둘째, 고쳐보자

모든 테스트 케이스를 통과하게 만든 다음 SerialDate 코드를 하나씩 고쳐간다. 이 단계에서 수행한 작업은 다음과 같다.

  • 오래된 주석 수정
  • enum을 독자적인 소스 파일로 이동
  • 정적 변수, 정적 메서드를 새 클래스로 이동
  • 변수 이름 변경
  • 새 메서드를 생성해 메서드간 중복 제거
profile
나의 내일은 파래 🐳

0개의 댓글

관련 채용 정보