Refactoring - 기존 코드의 디자인을 개선하는 방법
Martin Fowler 지음, 윤성준.조재박 옮김 / 대청(대청미디어) / 2002년 3월
평점 :
구판절판


프로그래머인 본인이 가장 많이 듣는 질문중에 하나가 자바를 잘 하느냐, Visual C++을 잘하느냐, 하는 질문입니다. 그럴 때마다 저는 항상 '저는 객체지향 프로그래밍을 잘합니다.' 라고 대답합니다. 그만큼 저는 객체지향이라는 개념을 좋아하고 객체지향적인 프로그래밍을 하려고 노력합니다. 하지만 OOP가 생각처럼 쉽지는 않습니다.

개발에 들어가기 전에 충분한 디자인 기간을 갖고 효율적으로 객체를 배열하려고 노력하지만 늘 개발중에 새로운 요구, 생각치 못한 문제가 생기고 객체지향에 흠집을 내야 하는 경우가 생깁니다. 때로는 저의 일시적인 귀찮음, 판단미스가 객체의 캡슐화, 상속관계 등을 깨버리기도 합니다. 결국 프로젝트가 완료된 이후에 저의 프로그램을 뒤돌아 보면 늘 못마땅하고 객체지향적이지가 않습니다. 그럴 때마다 저는 한탄합니다. '아. 나의 객체지향적인 내공은 아직도 부족하구나...'

하지만 리팩토링이라는 책을 읽고나서 저와 같은 문제는 모든 객체지향 프로그래머가 겪는 문제라는 사실을 깨달았습니다. 그리고 그러한 일이 생기면 자신의 실력만 탓하지 말고 원상복귀를 시킬 방법을 찾아야 한다는 것을 알았습니다. 바로 리팩토링을 이용해서이죠.

이 책은 초보를 위한 책은 아닙니다. 실무경험이 많고 자신을 고수라고 자만(?)하는 사람을 위한 책입니다. 저는 이책을 읽으면서 공감하는 부분이 많을 수록 실력자라고 감히 말합니다. 제 자랑은 아니지만 이 책을 읽으면서 때론 깜짝 놀라기도 하고 때론 전율이 흐르기도 하고 어떨 때는 웃음이 터져 나오기도 했습니다. 그 만큼 이 책의 내용 한줄한줄은 저에게는 보약같은 것이었습니다.

이 땅의 모든 개발자들이 이 책을 읽었으면 좋겠습니다. 그래서 모든 이들의 소스가 보기 좋고 퍼포먼스 뛰어나고 재사용성이 좋았으면 좋겠습니다. 마지막으로 이 책에 나온 명언 한 줄 소개합니다.

'컴퓨터가 이해하는 코드는 바보라도 짠다. 진정한 개발자는 사람이 이해할 수 있는 코드를 짠다.'

댓글(0) 먼댓글(0) 좋아요(2)
좋아요
북마크하기찜하기 thankstoThanksTo