리팩토링 카탈로그

1 개요[ | ]

Refactoring Catalog
리팩토링 카탈로그
name 이름 aliases 별칭
Change Function Declaration 함수 선언 변경 ★★ Add Parameter
Change Signature
Remove Parameter
Rename Function
Rename Method
파라미터 추가
시그니처 변경
파라미터 제거
함수명 변경
메소드명 변경
Change Reference to Value 참조를 값으로 변경
Change Value to Reference 값을 참조로 변경
Collapse Hierarchy 계층구조 없애기
Combine Functions into Class 함수를 클래스에 결합 ★★
Combine Functions into Transform 함수를 변환으로 결합 ★★
Consolidate Conditional Expression 조건문 통합
Decompose Conditional 조건문 분해
Encapsulate Collection 콜렉션 캡슐화
Encapsulate Record 레코드 캡슐화 Replace Record with Data Class 레코드를 데이터 클래스로 교체
Encapsulate Variable 변수 캡슐화 ★★ Encapsulate Field
Self-Encapsulate Field
필드 캡슐화
필드 자체 캡슐화
Extract Class 클래스 추출
Extract Function 함수 추출 ★★ Extract Method 메소드 추출
Extract Superclass 슈퍼클래스 추출
Extract Variable 변수 추출 ★★ Introduce Explaining Variable 설명 변수 도입
Hide Delegate 대리자 숨기기
Inline Class 클래스 인라인 처리
Inline Function 함수 인라인 처리 ★★ Inline Method 메소드 인라인 처리
Inline Variable 변수 인라인 처리 ★★★ Inline Temp 임시변수 인라인 처리
Introduce Assertion 표명 도입
Introduce Parameter Object 파라미터 객체 도입 ★★★
Introduce Special Case 특별 케이스 도입 Introduce Null Object 널 객체 도입
Move Field 필드 이동
Move Function 함수 이동 Move Method 메소드 이동
Move Statements into Function 스테이트먼트를 함수 속으로 이동
Move Statements to Callers 스테이트먼트를 호출자로 이동
Parameterize Function 함수 파라미터화 Parameterize Method 메소드 파라미터화
Preserve Whole Object 전체 객체 보존
Pull Up Constructor Body 생성자 본문 끌어올리기
Pull Up Field 필드 끌어올리기
Pull Up Method 메소드 끌어올리기
Push Down Field 필드 끌어내리기
Push Down Method 메소드 끌어내리기
Remove Dead Code 죽은 코드 제거
Remove Flag Argument 플래그 인수 제거 Replace Parameter with Explicit Methods 파라미터를 명시적 메소드로 교체
Remove Middle Man 미들맨 제거
Remove Setting Method 세팅 메소드 제거
Remove Subclass 서브클래스 제거 Replace Subclass with Fields 서브클래스를 필드로 교체
Rename Field 필드명 변경
Rename Variable 변수명 변경 ★★
Replace Command with Function 커맨드를 함수로 교체
Replace Conditional with Polymorphism 조건문을 다형성으로 교체
Replace Constructor with Factory Function 생성자를 팩토리 함수로 교체 Replace Constructor with Factory Method 생성자를 팩토리 메소드로 교체
Replace Control Flag with Break 제어 플래그를 break로 교체 Remove Control Flag 제어 플래그 제거
Replace Derived Variable with Query 파생변수를 쿼리로 교체
Replace Error Code with Exception 오류 코드를 예외로 교체
Replace Exception with Precheck 예외를 사전점검으로 교체 Replace Exception with Test 예외를 테스트로 교체
Replace Function with Command 함수를 커맨드로 교체 Replace Method with Method Object 메소드를 메소드 객체로 교체
Replace Inline Code with Function Call 인라인 코드를 함수 호출로 교체
Replace Loop with Pipeline 루프를 파이프라인으로 교체
Replace Magic Literal 매직 리터럴 교체 Replace Magic Number with Symbolic Constant 매직 넘버를 심볼릭 상수로 교체
Replace Nested Conditional with Guard Clauses 중첩 조건문을 가드절로 교체
Replace Parameter with Query 파라미터를 쿼리로 교체 Replace Parameter with Method 파라미터를 메소드로 교체
Replace Primitive with Object 기본자료형을 객체로 교체 Replace Data Value with Object
Replace Type Code with Class
데이터값을 객체로 교체
타입 코드를 클래스로 교체
Replace Query with Parameter 쿼리를 파라미터로 교체
Replace Subclass with Delegate 서브클래스를 대리자로 교체
Replace Superclass with Delegate 슈퍼클래스를 대리자로 교체 Replace Inheritance with Delegation 상속을 위임으로 교체
Replace Temp with Query 임시변수를 쿼리로 교체
Replace Type Code with Subclasses 타입 코드를 서브클래스로 교체 Extract Subclass
Replace Type Code with State/Strategy
서브클래스 추출
타입코드를 스테이트/전략으로 교체
Return Modified Value 수정된 값 반환
Separate Query from Modifier 수정자에서 쿼리 분리
Slide Statements 스테이트먼트 위치조정 Consolidate Duplicate Conditional Fragments 중복된 조건부 코드조각 통합
Split Loop 루프 분할
Split Phase 단계 분할
Split Variable 변수 분할 Remove Assignments to Parameters
Split Temp
파라미터에 대한 대입 제거
임시변수 분할
Substitute Algorithm 알고리즘 대체

2 같이 보기[ | ]

3 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}