bookseek.
◎ 한국어 ⌄
리팩터링 2판 책 표지

BOOKSEEK BOOK NOTES

리팩터링 2판

마틴 파울러 지음

동작을 유지하면서 코드 구조를 조금씩 바꾸는 절차와 기법을 설명하는 2판입니다. 자바스크립트 예제와 테스트, 변환 카탈로그의 역할을 구분하고, 기존 코드의 변경 목적과 확인할 조건을 먼저 정하는 읽기를 안내합니다.

책의 기본 정보

출판사
한빛미디어
출간일
2020-04-01
분량
550쪽
ISBN
9791162242742

책의 내용과 읽을 거리

『리팩터링 2판』은 이미 동작하는 프로그램의 구조를 바꿀 때 무엇을 보존하고 어떤 순서로 수정할지 배우는 책입니다. 마틴 파울러는 변경의 필요성을 알아차리는 기준과 작은 수정 기법, 그 수정을 뒷받침할 테스트를 함께 다룹니다. 새 기능을 빨리 붙이는 요령보다 기존 코드를 안전하게 이해하고 고치는 방법을 찾는 개발자에게 맞습니다.

책의 첫 예시를 읽을 때는 최종 코드만 비교하지 않는 편이 좋습니다. 한 번에 크게 고치는 것과 동작을 확인하며 작은 변경을 이어 가는 것의 차이를 살펴보세요. 단계가 많아 보여도 각 단계에서 무엇이 달라졌는지 설명할 수 있다면 문제가 생겼을 때 살펴볼 범위가 더 분명해집니다.

중복이나 긴 함수처럼 개선을 고려하게 하는 신호를 다루지만, 그 신호가 나타났다고 곧바로 같은 처방을 적용해야 하는 것은 아닙니다. 어떤 변경을 어렵게 만드는지 먼저 적어 보세요. 코드가 낯설다는 이유와 구조가 요구를 수용하기 어렵다는 이유를 나누어야 수정의 목적을 잃지 않을 수 있습니다.

카탈로그 형식의 기법 설명은 처음부터 끝까지 외우기보다 문제와 대응 방법을 연결해 찾아보는 데 활용할 수 있습니다. 함수와 변수의 추출, 캡슐화, 데이터 조직화, 조건부 로직의 정리 등이 범위에 들어갑니다. 기법의 이름보다 적용 동기와 수정 후 확인할 조건을 함께 남기는 읽기를 권합니다.

테스트 구축은 구조 변경을 위해 먼저 준비할 조건으로 다뤄집니다. 현재 프로그램의 기대 동작을 무엇으로 확인할 수 있는지 생각해 보세요. 정상 입력 하나가 통과했다고 해서 모든 변경이 안전한 것은 아니므로, 자신이 건드리는 경계와 실패 조건을 따로 확인하는 습관이 필요합니다.

한 번의 연습에서 여러 종류의 구조를 동시에 고치지 않는 편이 결과를 평가하기 쉽습니다. 먼저 무엇이 불편한지와 수정 범위를 기록한 뒤 작은 변화 하나를 적용해 보세요. 다음 단계로 넘어가기 전에 확인한 동작과 아직 확인하지 않은 동작을 구분하면 안전하다는 느낌을 구체적인 근거로 바꿀 수 있습니다. 이 메모는 책의 기법을 복습할 때 어떤 상황에서 썼는지 되짚는 자료가 됩니다.

한국어판은 2020년에 출간됐고 이 판의 예제 언어는 자바스크립트입니다. 최신 프레임워크에 맞춘 프로젝트 구성법을 기대하기보다, 외부 동작을 유지하며 구조를 개선하는 절차를 배우는 목적으로 선택합니다. 코드 읽기 경험이 조금 필요하며, 다른 언어로 옮길 때는 언어별 의미 차이를 검토해야 합니다.

이 책에서 공부할 수 있는 내용

리팩터링의 목적과 시점, 테스트를 마련하는 이유, 작은 변환 기법을 연결하는 과정을 공부할 수 있습니다. 함수·데이터·조건문·상속 구조를 다루는 범위를 갖추고 있습니다. 자신의 짧은 함수 하나를 고른 뒤 바꿀 구조와 유지할 동작을 먼저 적고, 수정 단계마다 무엇을 확인할지 계획해 보세요.

설명 방식에서 눈여겨볼 특징

  • 단계별 구조 변경: 최종 모습뿐 아니라 변경을 이어 가는 순서를 살핍니다.
  • 기법을 찾는 카탈로그: 필요한 문제에 맞춰 변환의 이유와 적용 과정을 찾아볼 수 있습니다.
  • 테스트와 연결: 구조를 바꾸기 전에 유지할 동작을 확인하도록 안내합니다.
  • 자바스크립트 2판: 구판과 다른 예제 언어를 판본 선택에서 구별합니다.

이런 독자에게 권합니다

기초 문법을 넘어 작은 프로그램을 유지보수해 본 개발자에게 권합니다. 코드를 처음 작성하는 독자라면 언어 입문과 간단한 테스트 경험을 먼저 갖추는 편이 좋습니다. 읽은 기법을 모든 코드에 적용하기보다 현재 변경을 어렵게 만드는 한 지점에 사용해 보세요.

이 책에서 주로 다루는 내용

  • 리팩터링의 목적과 테스트 준비
  • 함수·데이터의 작은 구조 변경
  • 조건과 상속 관계를 개선하는 기법

작가 소개

마틴 파울러는 소프트웨어 설계와 개발 방법을 다뤄 온 저자입니다. 이 책의 2판은 자바스크립트 예제로 기존 프로그램의 구조를 조금씩 개선하는 과정을 설명합니다.

이 책과 함께 읽는 주제