본문 바로가기
컴퓨터 과학

리팩터링 2판, 마틴 파울러

by pagehit 2021. 3. 20.
반응형

이 글은 한빛미디어 도서 서평단 나는 리뷰어다 2021을 통해 책을 제공받아 작성하였습니다.

이 책은 원서 Refactoring: Improving the Design of Existing Code(2nd edition, Fowler)를 번역한 책이고, 개앞맵시, 남기혁 님이 옮긴 '리팩터링 2판(마틴 파울러 지음, 개앞맵시, 남기혁 옮김, 한빛미디어)'입니다.

이 책은 자바스크립트로 된 실제 코드 예제들을 보여주면서 구체적인 리팩터링 방법에 대해 알려 줍니다. 큰 프로젝트의 코드를 유지, 보수하기 위해 어떻게 하면 효율적으로 리팩터링 할 수 있는지를 제시해 주고 있습니다. 단순히 동작하기만 하는 코드가 아니라 왜 설계가 잘 된 코드가 필요한지, 단계별로 코드의 변경사항들을 보여주면서 설명해 줍니다.

프로젝트를 진행하다 보면 새로운 기능들을 추가하는 경우는 당연한 사실입니다. 새로운 기능들을 추가하기 쉬운 구조로 설계하는 것이 프로젝트를 유지시키는데 큰 도움이 됩니다. 

때로는 리팩터링에 의해 코드가 오히려 더 길어지는 경우도 생기지만 잘 설계할 경우 내부 로직을 한눈에 알아볼 수 있게 만들 수 있다고 설명해 줍니다.

개인적으로 리팩터링은 반드시 해야 한다는 입장이지만 한 가지 의문점을 늘 가지고 있었습니다. 리팩터링에 의해 코드의 가독성을 높일 수 있고, 구조화하여 새로운 기능을 추가하거나 삭제할 수 있지만 리팩터링이 성능면에서 정말 효율적인 방법인가라는 물음을 항상 가지고 있습니다. 책에서는 이러한 질문에 대해 잘 설명해 주고 있습니다. 리팩터링이 항상 프로그램의 성능에 좋은 영향을 미치는 것은 아니지만 이후에 성능을 향상시킬 목적으로 코드를 수정할 때를 대비하기 위해서라도 설계가 잘된 코드를 작성할 필요성이 있다가 말합니다.

책의 난이도

이 책은 프로그래밍 언어를 하나쯤 배운 적이 있다면 읽기 쉬운 정도입니다. 엄청나게 큰 프로젝트의 코드를 작성해 보거나 읽어본 적이 없더라도 앞으로 프로그램을 작성할 일이 있다면 한 번쯤 읽어보면 좋을 내용들이 많이 있습니다. 이런 내용까지 담겨 있나 싶을 정도로 아주 쉬운 리팩터링에 대해서도 다루고 있지만 객체지향 관점에서의 리팩터링과 같은 개인적으로 마음에 든 내용들도 담겨 있습니다.

반응형

댓글