[클린 코드 읽고 정리해두고 다시 보기] 점진적인 개선

inho ha·2024년 9월 23일
0

Args 구현

  • 246p
  • String args를 파싱하는 클래스를 구현하는 내용입니다.
  • 처음에 boolean 타입만 파싱하도록 구현을 하였을 때는 깔끔한 코드 였지만, 이후 다른 타입에 대한 처리를 추가하여 코드가 지저분해졌습니다.
  • 여기에 추가로 또 다른 타입에 대한 처리가 추가되면 매우 더러워질 것이기 때문에, 그 전에 타입 처리 추상 클래스를 만들고 이를 각 타입별로 파생 클래스로 구현하여 타입 처리를 분리하였습니다.
  • 타입에 따라 다른 메서드를 사용하지 않고 처리하기 위해, 타입 처리 추상 클래스를 인터페이스로 변경하고 파생 클래스는 인터페이스를 구현하는 타입 처리 클래스로 변경하였습니다.
  • 이때 TDD 기반으로 테스트 코드가 잘 동작하는지 확인하며 리팩토링을 진행하였습니다.
  • 최종적으로 완성된 코드는 그동안 클린 코드 책에서 추구하던 코드의 형태로, 산문처럼 위에서 아래로 자연스럽게 읽어지는 코드가 완성 되었습니다.

결론

  • 한번에 완벽한 코드를 작성하려하지 말고 TDD를 기반으로 동작하는 코드를 작성한 뒤, 잘 동작함을 보장하면서 코드를 개선하라
  • 코드가 잘 동작한다고 다른 작업으로 넘어가지 말고, 깨끗한 코드를 위해 개선 작업을 꼭 진행하라.
profile
inho ha / ian(swatchon) / iha(42seoul)

0개의 댓글