리팩터링 이름 비교 & IDE들이 제공하는 리팩터링 목록_『리팩터링, 2판』(개앞맵시/남기혁 옮김,
ABCDEFGHIJKLMNOPQRSTUVWXY2판// 지원 깃허브대표 IDE들이 제공하는 자동 리팩터링// 책에서 소개하는 범용 기법들 외에 각 언어에 특화된 다양한 기법들을 추가로 제공하니 아래 링크를 클릭하여 자세히
docs.google.com
https://github.com/WegraLee/Refactoring
GitHub - WegraLee/Refactoring: 『리팩터링, 2판』(한빛미디어, 2020)
『리팩터링, 2판』(한빛미디어, 2020). Contribute to WegraLee/Refactoring development by creating an account on GitHub.
github.com
리팩터링 2판 | 대표 IDE들이 제공하는 자동 리팩터링 | 단축키 | ||
장.절 | 한글 | 영어 | IntelliJ IDEA(자바) | |
6.1 | 함수 추출하기 | Extract Function | Extract Method | ⌥⌘M |
6.2 | 함수 인라인하기 | Inline Function | Inline | ⌥⌘N |
6.3 | 변수 추출하기 (매직너버를 변수로 만들기) |
Extract Variable | Extract Variable Extract Constant |
⌥⌘V |
매개변수 만들기 | Extract Parameter | 매개변수 삽입... | ⌥⌘P | |
6.4 | 변수 인라인하기 | Inline Variable | Inline | ⌥⌘N |
6.5 | 함수 선언 바꾸기 (함수 이름 바꾸기) |
Change Function Declaration | Change Signature | ⇧F6 |
6.6 | 변수 캡슐화하기 | Encapsulate Variable | ||
Encapsulate Fields | ||||
6.7 | 변수 이름 바꾸기 | Rename Variable | Rename | ⇧F6 |
6.8 | 매개변수 객체 만들기 | Introduce Parameter Object | Extract Parameter Object | |
6.9 | 여러 함수를 클래스로 묶기 | Combine Functions into Class | Extract into Class | |
6.10 | 여러 함수를 변환 함수로 묶기 | Combine Functions into Transform | ||
6.11 | 단계 쪼개기 | Split Phase | ||
7.1 | 레코드 캡슐화하기 | Encapsulate Record | ||
7.2 | 컬렉션 캡슐화하기 | Encapsulate Collection | ||
7.3 | 기본형을 객체로 바꾸기 | Replace Primitive with Object | ||
7.4 | 임시 변수를 질의 함수로 바꾸기 | Replace Temp with Query | Replace Temp With Query | |
7.5 | 클래스 추출하기 | Extract Class | Extract into Class | |
7.6 | 클래스 인라인하기 | Inline Class | ||
7.7 | 위임 숨기기 | Hide Delegate | ||
7.8 | 중개자 제거하기 | Remove Middle Man | Remove Middleman | |
7.9 | 알고리즘 교체하기 | Substitute Algorithm | ||
8.1 | 함수 옮기기 | Move Function | Move | |
8.2 | 필드 옮기기 | Move Field | Move | |
8.3 | 문장을 함수로 옮기기 | Move Statements into Function | ||
8.4 | 문장을 호출한 곳으로 옮기기 | Move Statements to Callers | ||
8.5 | 인라인 코드를 함수 호출로 바꾸기 | Replace Inline Code with Function Call | ||
8.6 | 문장 슬라이드하기 | Slide Statements | ||
8.7 | 반복문 쪼개기 | Split Loop | ||
8.8 | 반복문을 파이프라인으로 바꾸기 | Replace Loop with Pipeline | ||
8.9 | 죽은 코드 제거하기 | Remove Dead Code | Safe Delete // 파일과 심볼 한정 | |
9.1 | 변수 쪼개기 | Split Variable | ||
9.2 | 필드 이름 바꾸기 | Rename Field | Rename | ⇧F6 |
9.3 | 파생 변수를 질의 함수로 바꾸기 | Replace Derived Variable with Query | ||
9.4 | 참조를 값으로 바꾸기 | Change Reference to Value | ||
9.5 | 값을 참조로 바꾸기 | Change Value to Reference | ||
9.6 | 매직 리터럴 바꾸기 | Replace Magic Literal | ||
10.1 | 조건문 분해하기 | Decompose Conditional | ||
10.2 | 조건식 통합하기 | Consolidate Conditional Expression | ||
10.3 | 중첩 조건문을 보호 구문으로 바꾸기 |
Replace Nested Conditional with Guard Clauses
|
||
10.4 | 조건부 로직을 다형성으로 바꾸기 | Replace Conditional with Polymorphism | ||
10.5 | 특이 케이스 추가하기 | Introduce Special Case | ||
10.6 | 어서션 추가하기 | Introduce Assertion | ||
10.7 | 제어 플래그를 탈출문으로 바꾸기 | Replace Control Flag with Break | ||
11.1 | 질의 함수와 변경 함수 분리하기 | Separate Query from Modifier | ||
11.2 | 함수 매개변수화하기 | Parameterize Function | Extract Parameter | |
11.3 | 플래그 인수 제거하기 | Remove Flag Argument | ||
11.4 | 객체 통째로 넘기기 | Preserve Whole Object | ||
11.5 | 매개변수를 질의 함수로 바꾸기 | Replace Parameter with Query | ||
11.6 | 질의 함수를 매개변수로 바꾸기 | Replace Query with Parameter | ||
11.7 | 세터 제거하기 | Remove Setting Method | ||
11.8 | 생성자를 팩터리 함수로 바꾸기 | Replace Constructor with Factory Function | Replace Constructor with Builder Replace Constructor with Factory Method |
|
11.9 | 함수를 명령으로 바꾸기 | Replace Function with Command | ||
11.10 | 명령을 함수로 바꾸기 | Replace Command with Function | ||
11.11 | 수정된 값 반환하기 | Return Modified Value | ||
11.12 | 오류 코드를 예외로 바꾸기 | Replace Error Code with Exception | ||
11.13 | 예외를 사전확인으로 바꾸기 | Replace Exception with Precheck | ||
12.1 | 메서드 올리기 | Pull Up Method | Pull Members Up | |
12.2 | 필드 올리기 | Pull Up Field | Pull Members Up | |
12.3 | 생성자 본문 올리기 | Pull Up Constructor Body | ||
12.4 | 메서드 내리기 | Push Down Method | Push Members Down | |
12.5 | 필드 내리기 | Push Down Field | Push Members Down | |
12.6 | 타입 코드를 서브클래스로 바꾸기 | Replace Type Code with Subclasses | ||
12.7 | 서브클래스 제거하기 | Remove Subclass | ||
12.8 | 슈퍼클래스 추출하기 | Extract Superclass | Extract Superclass Extract Interface |
|
12.9 | 계층 합치기 | Collapse Hierarchy | Inline Superclass | |
12.10 | 서브클래스를 위임으로 바꾸기 | Replace Subclass with Delegate | Replace Inheritance with Delegation | |
12.11 | 슈퍼클래스를 위임으로 바꾸기 | Replace Superclass with Delegate | Replace Inheritance with Delegation |
'프로그래밍 > 리팩터링' 카테고리의 다른 글
리팩터링 2nd 10.3 중첩 조건문을 보호 구문으로 바꾸기 (0) | 2025.04.09 |
---|---|
리팩터링 2nd 8.7 Split Loop (0) | 2025.04.07 |
리팩터링 2nd 실습하기 좋은 항목 (0) | 2025.04.07 |
리팩터링 2nd Chapter 01 실습 (0) | 2025.03.25 |
Refactoring if-else 제거 (0) | 2025.01.15 |