리팩토링 Refactoring

마틴 파울러
500p
구매 가능한 곳
content
별점 그래프
평균 4.4(24명)
0.5
5
평가하기
4.4
평균 별점
(24명)
코멘트
더보기

객체지향이라는 도구를 제대로 활용하지 못하고 마구잡이로 작성한 코드에는 악취가 진동한다. 리팩토링은 코드의 동작이나 의도는 유지하면서 코드의 구조, 재사용성, 가독성을 개선해 코드의 악취를 제거하고 전체 디자인을 개선하는 방법이다. 이 책은 72가지 리팩토링 기법을 통해 코드를 점진적으로 개선하는 방법을 담고 있다.

<그부호> 웨스 앤더슨 감독

비주얼 마스터의 독보적 세계관

<페니키안 스킴> · AD

별점 그래프
평균 4.4(24명)
0.5
5

<그부호> 웨스 앤더슨 감독

비주얼 마스터의 독보적 세계관

<페니키안 스킴> · AD

저자/역자

코멘트

2

목차

CHAPTER 01 맛보기 예제 __원래의 프로그램 __리팩토링 첫 단계 __statement 메서드 분해와 기능 재분배 __가격 책정 부분의 조건문을 재정의로 교체 __고찰 CHAPTER 02 리팩토링 개론 __리팩토링은 무엇인가 __리팩토링은 왜 해야 하나 __리팩토링은 어떨 때 필요한가 __팀장에게 어떻게 말을 꺼내나 __리팩토링 관련 문제들 __리팩토링과 설계 __리팩토링과 성능 __리팩토링의 유래 CHAPTER 03 코드의 구린내 __중복 코드 Duplicated Code __장황한 메서드 Long Method __방대한 클래스 Large Class __과다한 매개변수 Long Parameter List __수정의 산발 Divergent Change __기능의 산재 Shotgun Surgery __잘못된 소속 Feature Envy __데이터 뭉치 Data Clumps __강박적 기본 타입 사용 Primitive Obsession __switch 문 Switch Statements __평행 상속 계층 Parallel Inheritance Hierarchies __직무유기 클래스 Lazy Class __막연한 범용 코드 Speculative Generality __임시 필드 Temporary Field __메시지 체인 Message Chains __과잉 중개 메서드 Middle Man __지나친 관여 Inappropriate Intimacy __인터페이스가 다른 대용 클래스 Alternative Classes with Different Interfaces __미흡한 라이브러리 클래스 Incomplete Library Class __데이터 클래스 Data Class __방치된 상속물 Refused Bequest __불필요한 주석 Comments CHAPTER 04 테스트 작성 __JUnit 테스트 프레임워크 __테스트 추가 CHAPTER 05 리팩토링 기법 카탈로그에 대해 __참조 검색 __리팩토링 기법의 성숙도 CHAPTER 06 메서드 정리 __메서드 추출 Extract Method __메서드 내용 직접 삽입 Inline Method __임시변수 내용 직접 삽입 Inline Temp __임시변수를 메서드 호출로 전환 Replace Temp with Query __직관적 임시변수 사용 Introduce Explaining Variable __임시변수 분리 Split Temporary Variable __매개변수로의 값 대입 제거 Remove Assignments to Parameters __메서드를 메서드 객체로 전환 Replace Method with Method Object __알고리즘 전환 Substitute Algorithm CHAPTER 07 객체 간의 기능 이동 __메서드 이동 Move Method __필드 이동 Move Field __클래스 추출 Extract Class __클래스 내용 직접 삽입 Inline Class __대리 객체 은폐 Hide Delegate __과잉 중개 메서드 제거 Remove Middle Man __외래 클래스에 메서드 추가 Introduce Foreign Method __국소적 상속확장 클래스 사용 Introduce Local Extension CHAPTER 08 데이터 체계화 __필드 자체 캡슐화 Self Encapsulate Field __데이터 값을 객체로 전환 Replace Data Value with Object __값을 참조로 전환 Change Value to Reference __참조를 값으로 전환 Change Reference to Value __배열을 객체로 전환 Replace Array with Object __관측 데이터 복제 Duplicate Observed Data __클래스의 단방향 연결을 양방향으로 전환 Change Unidirectional Association to Bidirectional __클래스의 양방향 연결을 단방향으로 전환 Change Bidirectional Association to Unidirectional __마법 숫자를 기호 상수로 전환 Replace Magic Number with Symbolic Constant __필드 캡슐화 Encapsulate Field __컬렉션 캡슐화 Encapsulate Collection __레코드를 데이터 클래스로 전환 Replace Record with Data Class __분류 부호를 클래스로 전환 Replace Type Code with Class __분류 부호를 하위클래스로 전환 Replace Type Code with Subclasses __분류 부호를 상태/전략 패턴으로 전환 Replace Type Code with State/Strategy __하위클래스를 필드로 전환 Replace Subclass with Fields CHAPTER 09 조건문 간결화 __조건문 쪼개기 Decompose Conditional __중복 조건식 통합 Consolidate Conditional Expression __조건문의 공통 실행 코드 빼내기 Consolidate Duplicate Conditional Fragments __제어 플래그 제거 Remove Control Flag __여러 겹의 조건문을 감시 절로 전환 Replace Nested Conditional with Guard Clauses __조건문을 재정의로 전환 Replace Conditional with Polymorphism

출판사 제공 책 소개

객체지향은 제대로 잘 해야 한다! 당신은 객체지향 프로그래머인가? 프로그램이 돌아가기면 하면 객체지향인가? 객체지향이라는 도구를 제대로 활용하지 못하고 마구잡이로 작성한 코드에는 악취가 진동한다. 리팩토링은 코드의 동작이나 의도는 유지하면서 코드의 구조, 재사용성, 가독성을 개선해 코드의 악취를 제거하고 전체 디자인을 개선하는 방법이다. 독자는 72가지 리팩토링 기법을 통해 코드를 점진적으로 개선하는 방법을 학습할 수 있으며, 이 책을 마쳤을 때는 객체지향 프로그래밍 능력이 한 단계 향상될 것이다. 코딩 스타일이 바뀐다 객체지향 언어의 문법을 익혔다고 저절로 객체지향 프로그래밍을 할 수 있는 게 아니다. 리팩토링 카탈로그를 통해 어떤 코드를 고쳐야 하는지, 왜 고쳐야 하는지, 고친 코드가 왜 좋은지 이해할 수 있다. 이런 과정을 통해 객체지향에 어울리는 코드 디자인을 배우게 되고, 자신의 코딩 스타일도 바뀌게 된다. 이 책을 읽기 전과 후는 코드의 품질에 결정적인 차이를 가져오게 된다.

이 작품이 담긴 컬렉션

4
  • 데이터 출처
  • 서비스 이용약관
  • 개인정보 처리방침
  • 회사 안내
  • © 2025 by WATCHA, Inc. All rights reserved.