본문 바로가기

출간 전 책 소식

리팩토링, 제대로 배워 볼까요?

리팩토링(Refactoring)》(마틴 파울러 저) 원판이 1999년 출간되었는데, 출간되었을 당시에 정말 날개돋친 듯 판매되었고, 최근에도 매년 15000부 이상의 판매를 올리고 있다고 합니다. 그만큼 개발자들의 필요를 제대로 충족시켜 준 책이었다고 봅니다. 이 책은 국내에서도 2002년에 번역 출간(대청미디어 刊)되어 아직까지도 개발자들의 필수 도서로 자리매김하고 있죠.

이 책의 루비 버전판이 새롭게 출간됩니다. 마틴 파울러의 원판 내용을 기초로 하여 새롭게 추가된 리팩토링 기법을 추가하고, 기존 리팩토링 기법 중 루비 버전에 맞지 않는 내용은 삭제하는 등의 과정을 거쳤습니다. 켄트 벡(Kent Beck)이 명예 저자로 참가하였고, 자바와 루비 언어에 정통한 제이 필즈(Jay Fields)와 셰인 하비(Shane Harvie)가 새롭게 집필을 하였답니다.

(이미지를 클릭하시면 확대해서 보실 수 있습니다)


그리고 이 책《리팩토링: 루비 에디션》의 역자 김지원 님께서 원서에 수록된 구린내나 리팩토링의 영문 이름을 의미를 함축한 우리말로 모두 번역하였습니다. 기법명을 영문 대명사처럼 생각해서 외우고 적용하는 사람도 많겠지만, 비슷한
길이의 우리말 표현이 가능했기에 굳이 놔두지 않고 번역을 해서 기법에 대한 이해도를 높여 주고 있습니다다. 물론, 기존의 자바 원판으로 공부했던 분들을 위해 한글 기법명 옆에 영문 기법명을 함께 표기하였습니다.

그리고 독자들의 빠른 참고를 위해 책 뒷부분에 리팩토링 기법 찾아보기와 미심쩍은 상황별 기법에 대한 리스트와 해당 페이지를 따로 정리해두었습니다.

이 책에 사용된 리팩토링 기법들은 루비와 자바 언어에만 적용할 수 있는 것도 있지만, 수많은 수정과 보완을 거치고 보편적 언어의 특성을 고려하여 집필되었기에 대부분은 프로그래밍 언어별 차이만 이해하고 있다면 다른 언어에도 두루 적용할 수 있을 것입니다. 다시 말해, 루비 사용자뿐만이 아닌 리팩토링에 관심 있는 모든 개발자들에게 유익한 교재임을 강조하고 싶습니다.

아래는 53페이지 가량의 1장 '리팩토링 첫 예제'에 대한 pdf입니다. 원고 번역 상태와 책 구성 상태를 미리 살펴보시고 싶은 분들은 다운받아 읽어 보시기 바랍니다.


그리고 책 뒷표지에 소개된 요약글로 이 포스팅을 마치도록 하겠습니다.

초 베스트셀러 『리팩토링』의 루비 완결판!
리팩토링 원판 독자도 다시 읽어봐야 할 책!
루비와 자바 프로그래머뿐만이 아닌 모든 개발자들이 소유해야 할 책!

리팩토링을 통해 프로그래머는 엉망진창인 소프트웨어를 기능 개선과 유지보수가 쉬운 깔끔한 설계의 시스템으로 바꿀 수 있다. 이 책은 마틴 파울러의 기존 리팩토링 원판 교재를 바탕으로 루비 예제와 적용 방법을 수록하였으며, 또한 수많은 수정과 보완을 거쳐 루비 사용자뿐만이 아닌 리팩토링에 관심 있는 모든 개발자들에게 유익한 교재로 출간되었다.

필자들은 검증된 70개 이상의 리팩토링 기법을 단계적인 실시 방법, 원리를 보여주는 예제 코드와 함께 자세히 설명하고 있으며, 리팩토링 기법 중 대부분은 강력한 루비 전용 기능을 이용한 것들이다.

마틴 파울러의 원본 교재 개념들을 이용하여 계획적이고, 효율적이며, 단계적으로 리팩토링을 실시하는 방법을 설명한 이 책은 새로운 버그가 생기지 않게 자신의 코드 구조를 체계적으로 개선할 수 있도록 하였다. 코드를 작성하거나 유지보수하는 프로젝트에서 자신이 맡은 분야가 무엇이든지에 상관없이 이 책의 내용은 반드시 알아야 할 것이다.

이 책을 통해 다음의 것들을 배울 수 있다.

리팩토링의 주요 원칙과 리팩토링 실시 이유를 이해한다.
루비 코드에서 구린내를 감지할 수 있다.
잘못된 설계를 수정하여 체계적 설계의 코드로 만들 수 있다.
테스트를 작성해서 리팩토링이 제대로 되는지 확인할 수 있다.
리팩토링의 문제점과 해결 방법을 알 수 있다.
비슷한 기능의 코드끼리 묶이게 메서드를 구성할 수 있다.
객체에서 객체로 기능을 옮겨서 적절한 곳에 배치할 수 있다.
데이터를 연동하기 쉽게 정리할 수 있다.
조건식을 단순화하고 재정의 사용을 보다 효율적으로 수정할 수 있다.
알기 쉽고 사용하기 편한 인터페이스를 작성할 수 있다.
보다 효과적으로 일반화할 수 있다.
수개월에서 수년에 걸쳐 소프트웨어 시스템 전체를 수정하는 비교적 대규모의 리팩토링을 실시할 수 있다.
루비온레일스 코드를 성공적으로 리팩토링할 수 있다.

도서예약구매 사이트(가나다 순)