| 인프런 - 백기선님의 코딩으로 학습하는 리팩토링 강의를 수강하며 정리한 글입니다.
가장 기본이 되는 리팩토링 기술
- 함수 추출하기
- 함수 인라인하기
- 변수 추출하기
- 변수 인라인하기
- 함수 선언 변경하기 -> 함수 이름, 매개 변수, 리턴 타입... 변경
- 변수 캡슐화하기
- 변수 이름 바꾸기
- 매개변수 객체 만들기
- 여러 함수를 클래스로 묶기
- 여러 함수를 변환 함수로 묶기
- 단계 쪼개기
캡슐화
* 모듈에서 외부 시스템으로 공개하지 않아도 되는 데이터를 숨기는 기술
- 레코드 캡슐화하기 -> public 필드를 private + 메서드
- 컬렉션 캡슐화하기
- 기본형을 객체로 바꾸기
- 임시 변수를 질의 함수로 바꾸기
- 클래스 추출하기
- 클래스 인라인하기
- 위임 숨기기
- 중재자 제거하기 -> 불필요한 과정 제거
- 알고리즘 교체하기
기능 옮기기
* 함수나 필드 또는 문장을 적절한 위치로 옮기는 기술
- 함수 옮기기
- 필드 옮기기
- 문장을 함수로 옮기기
- 문장을 호출한 곳으로 옮기기
- 인라인 코드를 함수 호출로 바꾸기
- 문장 슬라이드하기
- 반복문 쪼개기
- 반복문을 파이프라인으로 바꾸기 -> 기능 없애기
- 죽은 코드 제거하기 -> 기능 없애기
데이터 조직화
* 데이터 구조를 다루는 기술
- 변수 쪼개기
- 필드 이름 바꾸기
- 파생 변수를 질의 함수로 바꾸기 -> 계산 결과를 변수로 선언하지 말고 식 자체를 사용하기
- 참조를 값으로 바꾸기
- 값을 참조로 바꾸기
'클린코드' 카테고리의 다른 글
[Refactoring] 정리 (2) (0) | 2022.09.30 |
---|---|
[Refactoring] 24. 주석 (0) | 2022.09.28 |
[Refactoring] 23. 상속 포기하기 (0) | 2022.09.27 |
[Refactoring] 22. 데이터 클래스 (1) | 2022.09.26 |
[Refactoring] 21. 서로 다른 인터페이스의 대안 클래스들 (1) | 2022.09.25 |