켄트 벡의 Tidy First? – 책 소개

🗓️

코드는 언제 정리해야해?

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.

  • 원제 : Tidy First?: A Personal Exercise in Empirical Software Design
  • 저자 : Kent Beck
  • 출간 : O’Reilly Media, 2023 / 한빛미디어, 2024

익스트림 프로그래밍 XP 의 창시자이자 애자일 개발론, TDD 를 주장하는 켄트 벡의 새로운 책이다. Tidy First? 는 방법론이나 기술적인 맥락 보다는 리팩토링에 어떻게 손을 대고 무엇부터 시작하면 좋을지에 대한 길라잡이가 될 수 있을 것이다. 책은 앞뒤 사족 떼고 본편만 봤을때 p100 정도의 매우 얇은 책이다. 그래서 아무 생각 없이, 부담 없이, 머리를 비우고 볼 수 있는 책이다.

책은 크게 전반부와 후반부로 나뉜다. 초반에는 코드를 정리하기 위한 기본적인 스킬들을 나열한다. 뒤에는 코드를 정리하기 위해 저자가 주장하는 원칙들에 대해 근거와 함께 쉽게 설명하고 있다. 다만 내가 느끼기엔 전반부와 후반부 사이의 문턱 높이가 조금 있는 편이였고 이 책을 온전히 느끼기엔 함축된 설명들이 많다고 생각했다.

그래서 옮긴이는 번역을 하면서 저자와 직접 소통했던 기록들과 켄트 벡의 앞서 주장한 익스트림 프로그래밍 XP나 TDD 같은 개발론들에 대해 자신이 생각하는 점에 대해 별책으로 남기고 있다. 부록까지 읽는다면 초심자더라도 이해하는데 무리가 없을것이다.

이 책에서 가장 도움이 많이 됐던 부분은 개발을 하는 중 어느 시점에 코드를 정리하면 좋을지, 코드를 어떻게 정리하면 좋을지 기준을 제시해 준다는 점이다. 크게 두가지로 나뉜다

  • 동작 변경 후에 코드 정리
  • 코드 정리 후에 동작 변경

이 딜레마는 기존 프로젝트를 유지보수하는 입장이라면 정말 많은 고민을 안겨주는 선택지다. 물론 정답은 없지만 저자는 동작을 변경하는 이유를 기준으로 코드를 정리하라고 한다. 동작 변경 전에 코드를 정리해서 이해가 될것 같은 판단이면 코드를 먼저 정리하고, 코드 정리 전까지 기다렸을때 비용 (코드 이해, 구조 파악 등)이 더 들어간다면 동작을 먼저 변경하라고 한다.

개인적으로 코드 정리에 대해 당연히 알고있다고 생각했지만 말로 설명하기는 근거나 설득력이 떨어진다고 스스로 생각했는데, 이 책은 그에 대한 이유를 명확하게 글로 풀어낸 유일한 책이 아닐까 싶다.

켄트 벡의 저서 중에 ‘켄트 벡의 구현 패턴’ 이라는 책이 있다. 개인적으로 Tidy First? 가 흥미로웠다면 이 책을 이어서 보면 많은 도움이 될 것이다. Tidy First? 와 겹치는 내용이 없지는 않지만 전반부의 구체적이고 기술적인 내용들에 대해 더 상세하게 설명한다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.