Justin의 개발 로그

https://docs.google.com/spreadsheets/d/1nFx-PjZ9Qs3QBZFzaMo6MSUSrWjSsO-iz5kpBtlVRPQ/edit?gid=866204681#gid=866204681

 

리팩터링 이름 비교 & 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  

 

profile

Justin의 개발 로그

@라이프노트

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!