-
첫번째 예시 : 헬 📖
-
리팩터링 원직 : 리팩터링은 결국 생산성 향상에 목표한다!
-
코드에서 나는 악취 📖
-
테스트 구축하기 : Mocha, Chai 와의 전쟁... 📖
-
리팩터링 카탈로그 보는 법
-
- 함수 추출하기
- 함수 인라인하기
- 변수 추출하기
- 변수 인라인하기
- 함수 선언 바꾸기 📖
- 변수 캠슐화하기
- 변수 이름 바꾸기
- 매개변수 객체 만들기
- 여러 함수를 클래스로 묶기
- 여러 함수를 변환 함수로 묶기
- 단계 쪼개기 📖
-
- 레코드 캡슐화하기
- 컬렉션 캡슐화하기
- 기본형을 객체로 바꾸기
- 임시 변수를 질의 함수로 바꾸기
- 클래스 추출하기 📖
- 클래스 인라인하기
- 위임 숨기기
- 중개자 제거하기
- 알고리즘 교체하기
-
- 함수 옮기기
- 필드 옮기기
- 문장을 함수로 옮기기
- 문장을 호출한 곳으로 옮기기
- 인라인 코드를 함수 호출로 바꾸기
- 문장 슬라이드하기
- 반복문 쪼개기
- 반복문을 파이프라인으로 바꾸기
- 죽은 코드 제거하기
-
- 변수 쪼개기
- 필드 이름 바꾸기
- 파생 변수를 질의 함수로 바꾸기
- 참조를 값으로 바꾸기
- 값을 참조로 바꾸기
- 매직 리터럴 바꾸기
- 조건문 분해하기
- 조건식 통합하기
- 중첩 조건문을 보호 구문으로 바꾸기
- 조건부 로직을 다형성으로 바꾸기
- 특이 케이스 추가하기
- 어서션 추가하기
- 제어 플래그를 탈출문으로 바꾸기
- 질의 함수와 변경 함수 분리하기
- 함수 매개변수화하기
- 플래그 인수 제거하기
- 객체 통째로 넘기기
- 매개변수를 질의 함수로 바꾸기
- 질의 함수를 매개변수로 바꾸기
- 세터 제거하기
- 생성자를 팩터리 함수로 바꾸기
- 함수를 명령으로 바꾸기
- 명령을 함수로 바꾸기
- 수정된 값 반환하기
- 오류 코드를 예외로 바꾸기
- 예외를 사전확인으로 바꾸기
- 상속 다루기
- 메서드 올리기
- 필드 올리기
- 생성자 본문 올리기
- 메서드 내리기
- 필드 내리기
- 타입 코드를 서브클래스로 바꾸기
- 서브클래스 제거하기
- 슈퍼클래스 추출하기
- 계층 합치기
- 서브클래스를 위임으로 바꾸기
- 슈퍼클래스를 위임으로 바꾸기