리팩토링 기법

1 개요[ | ]

Refactoring Techniques
리팩토링 테크닉, 리팩토링 기법
메소드 구성(Composing Methods)
Extract Method 메소드 추출 ★★
Inline Method 메소드 인라인 처리 ★★
Extract Variable 변수 추출 ★★
Inline Temp 임시변수 인라인 처리 ★★
Replace Temp with Query 임시변수를 쿼리로 교체
Split Temporary Variable 임시변수 분할
Remove Assignments to Parameters 파라미터에 대한 대입 제거
Replace Method with Method Object 메소드를 메소드 객체로 교체
Substitute Algorithm 알고리즘 대체
객체간 기능 이전(Moving Features between Objects)
Move Method 메소드 이동
Move Field 필드 이동
Extract Class 클래스 추출
Inline Class 인라인 클래스
Hide Delegate 대리자 숨기기
Remove Middle Man 중간자 제거
Introduce Foreign Method 외부 메소드 도입
Introduce Local Extension 로컬 확장기능 도입
데이터 조직화(Organizing Data)
Change Value to Reference 값을 참조로 변경
Change Reference to Value 참조를 값으로 변경
Duplicate Observed Data 관측 데이터 복제
Self Encapsulate Field 필드 자체 캡슐화
Replace Data Value with Object 데이터값을 객체로 교체
Replace Array with Object 배열을 객체로 교체
Change Unidirectional Association to Bidirectional 단방향 연관을 양방향으로 변경
Change Bidirectional Association to Unidirectional 양방향 연관을 단방향으로 변경
Encapsulate Field 필드 캡슐화 ★★
Encapsulate Collection 콜렉션 캡슐화
Replace Magic Number with Symbolic Constant 매직 넘버를 상징적 상수로 교체
Replace Type Code with Class 타입 코드를 클래스로 교체
Replace Type Code with Subclasses 타입 코드를 서브클래스로 교체
Replace Type Code with State/Strategy 타입 코드를 스테이트/전략으로 교체
Replace Subclass with Fields 서브클래스를 필드로 교체
조건문 단순화(Simplifying Conditional Expressions)
Consolidate Conditional Expression 조건부 표현 통합
Consolidate Duplicate Conditional Fragments 중복된 조건부 코드조각 통합
Decompose Conditional 조건문 분해
Replace Conditional with Polymorphism 조건문을 다형성으로 교체
Remove Control Flag 제어 플래그 제거
Replace Nested Conditional with Guard Clauses 중첩 조건문을 가드절로 교체
Introduce Null Object 널 객체 도입
Introduce Assertion 어썰션 도입
메소드 호출 단순화(Simplifying Method Calls)
Add Parameter 파라미터 추가
Remove Parameter 파라미터 제거
Rename Method 메소드명 변경 ★★
Separate Query from Modifier 수정자에서 쿼리 분리
Parameterize Method 메소드 파라미터화
Introduce Parameter Object 파라미터 객체 도입 ★★
Preserve Whole Object 존체 객체 보존
Remove Setting Method 세팅 메소드 제거
Replace Parameter with Explicit Methods 파라미터를 명시적 메소드로 교체
Replace Parameter with Method Call 파라미터를 메소드 호출로 교체
Hide Method 메소드 숨기기
Replace Constructor with Factory Method 생성자를 팩토리 메소드로 교체
Replace Error Code with Exception 오류 코드를 예외로 교체
Replace Exception with Test 예외를 테스트로 교체
일반화 다루기(Dealing with Generalization)
Pull Up Field 필드 끌어올리기
Pull Up Method 메소드 끌어올리기
Pull Up Constructor Body 생성자 내용 끌어올리기
Push Down Field 필드 끌어내리기
Push Down Method 메소드 끌어내리기
Extract Subclass 서브클래스 추출
Extract Superclass 슈퍼클래스 추출
Extract Interface 인터페이스 추출
Collapse Hierarchy 계층구조 없애기
Form Template Method 템플릿 메소드 형성
Replace Inheritance with Delegation 상속을 위임으로 교체
Replace Delegation with Inheritance 위임을 상속으로 교체

2 같이 보기[ | ]

3 참고[ | ]

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