리팩토링 - 코드 품질을 개선하는 객체지향 사고법
국내도서>컴퓨터/인터넷
저자 : 마틴 파울러(Martin Fowler) / 김지원역
출판 : 한빛미디어 2012.11.09
상세보기
 

리팩토링은 마틴 파울러가 쓴 SE의 고전 중 고전으로 우리 나라에도 2002년 번역서가 나올 정도로 그 출판 연도가 오래되었다. 이 책은 비디오 대여점의 관리 소프트웨어를 자바 기반으로 작성하면서 발생하는 코드상의 여러 논리 오류나 모순을 기능을 변경하지 않으면서 내부 구조를 개선하는 전형적인 리팩토링 튜토리얼이다. 너무나 유명한 책이기 때문에 책 이름이 보통명사 같이 활용되고 있는 점 또한 특색이다. 

 

Refactoring 리팩토링
국내도서>컴퓨터/인터넷
저자 : Martin Fowler,켄트 벡
출판 : 대청미디어 2002.03.15
상세보기

 

이 책은 2002년 대청사에서 번역서가 나왔다가 절판된 이후 만 10년 만에 새로운 번역으로 한빛미디어에서 출판하였으며, 번역서 두 권을 비교해 보건데 두 번역서 모두 일부 번역이 위트 있지만 오역도 일부 있는 등 장단이 있는 만큼 최신본을 구매하는 것이 현실적으로 해답이란 생각이다.

사실 이 책을 리뷰하면서 꼭 같이 언급하고 싶은 책이 있어, 리뷰를 미뤄왔다. 바로

2012/12/25 - [서평] - '리펙토링'보다 쉽게 리펙토링하기 에서 리뷰한

 

읽기 좋은 코드가 좋은 코드다더스틴 보즈웰,트레버 파우커
상세보기

 

'The Art of Readable Code'이다.

 

이 책 리뷰의 대부분을 위 책과 비교할 텐데 그렇다고 어느 책이 더 좋다거나 나쁘다는 의미는 아니고 내가 또는 우리가 보기에 가장 좋은 방법이 무엇이냐를 찾기 위한 과정에서 나온 리뷰라는 점을 미리 알려둔다.

 

우선, 본 책은 java기반의 언어로 쓰여진 책이다. 물론 코드의 기초는 다른 언어들도 대동소이하고, 리팩토링의 개념은 얼마든지 응용하여 사용할 수 있지만 아무래도 자바 특유의 prefix들을 java를 접해본 경험이 많지 않은 사람들로써는 어색한 것이 사실이기도 하다. 이러한 면에서는 '읽기 좋은 코드가 좋은 코드다'가 더 쉬운 접근성을 제공한다고 볼 수 있다.

 

한편, 본 책은 비디오 대여점 관리 프로그램을 예로 하고 있기 때문에 스토리에 기반한 책 전개가 장점이다. 즉, 코드 부분의 난해함을 제외하면 죽 훓어 읽기에 무리가 없을 정도로 스토리가 있다는 것인데, 이 부분은 위 책보다 장점이다. 다만, 이러한 책의 특성상 일독한 이후에도 수시로 책을 찾아볼 수 있는데, 이를 위해서 각 리팩토링 패턴에 대한 인덱스를 제공하고는 있지만, 리팩토링 패턴의 제목만으로는 활용에 필요한 정보가 제약되는 점이 단점으로 작용한다. 이에 비해 전 책에서는 변수, 함수, 주석, 조건문, 클래스 등 개발 요소에 맞추어 각 기법을 설명하고 있기 때문에 뒤에 찾아보기가 더 수월할 수 있다.

 

두 책 모두 일장일단이 있는 만큼 같이 보고 두 책의 장점만 취하면 좋겠다는 생각도 해 본다. 다만, 우리가 너무~ 시간에 쪼들리는 분야이다 보니 두 책을 순서대로 읽어야 겠다면 일단 'The Art of Readable Code'를 읽어 기초를 다지고 실무에 활용한 다음, 응용할 만큼의 실력이 받쳐줄 때 이 책 '리팩토링'을 읽어 생각을 정리하면 좋겠다는 생각이다. 이 두 책 모두 필독서로 권하고 싶다.

+ Recent posts