[CleanCode 14장] 점진적인 개선

soyeon·2022년 8월 2일
0

CleanCode

목록 보기
14/18
post-thumbnail

이 장에서는 모듈을 개선하고 정리하는 단계를 설명한다.

Args 구현

어떻게 짰느냐고?

깨끗한 코드를 짜기 위해서는 지저분한 코드를 짠 뒤에 정리해야 한다. 단계적으로 코드를 개선해야 한다.

Args: 1차 초안

: 코드는 돌아가지만 엉망인 코드이다.

  • 인스턴스 변수 개수가 매우 많다.
  • 희한한 문자열이 등장한다.
  • HashSets, TreeSets, try-catch-catch 블록이 지저분한 코드에 기여하는 요인이다.
  • 인수 유형이 추가 될수록 코드가 지저분해진다.

그래서 멈췄다

인수 유형을 추가할수록 코드가 지저분해지기 때문에 더이상 프로그램을 완성하지 않고 리팩터링을 시작하였다.
가장 먼저, 인수 유형을 추가하기 위해 코드를 추가해야 할 지점을 찾아낸다.

점진적으로 개선하다

프로그램을 개선하기 위해 구조를 크게 뒤집는 것은 프로그램을 망치는 가장 좋은 방법이다.
-> 테스트 주도 개발 기법 사용
: 언제 어느때라도 시스템이 돌아가야 한다.
: 시스템을 망가뜨리는 변경을 허용하지 않는다.
: 변경을 하면 변경 전과 똑같이 돌아가야 한다.

이를 확인하기 위해서는 자동화된 테스트 슈트가 필요하다.

모든 테스트를 통과할 수 있게 시스템을 변경시킨다.

첫번째 리팩터링 결과
: 첫부분의 변수가 그대로 남아있고, set 함수, 오류 처리 코드는 아직 흉하다.
구조만 조금 나아졌다.

Args: 리팩터링 한 번 더 진행

변수를 두개 넘겨야할때 코드가 지저분해진다. -> args 배열을 list로 변환해서 전달한다.
예외 코드는 하나의 클래스로 모아 독자 모듈로 옮긴다.

결론

나쁜 코드는 팀의 발목을 잡게된다. 나쁜 코드도 깨끗한 코드로 개선할 수 있지만 비용이 많이 든다. 따라서 처음부터 코드를 깨끗하게 유지하는 것이 좋다.

0개의 댓글