기본적인 리팩토링 목표
- 대규모 코드 (코드의 줄 수와 복잡성) 수준을 낮게 유지하세요.
- 총 입력 횟수를 적게 유지하세요.
- 비 지역적 입력에서 명시적 입력을 선호하세요.
- 비 지역적 입력으로 객체 이름을 하드 코딩하는 대신 this를 명시적으로 전달할지 아니면 함수 호출에 바인딩(call, apply, bind) 할지 선택하세요.
- 사이드 이펙트에 대한 실제적이고 의미 있는 반환 값을 선호하세요.
- 사이드 이펙트는 최소화 하거나 존재하지 않게 하세요.
- 비 지역적 입력과 전역 변수를 줄이려면 클래스 (적어도 객체) 일부로 함수와 다른 변수에 가능한 한 잘 정의된 this를 지정하세요.
- 자바스크립트에서는 비공개 코드를 위한 작성 방식이 접근 영역에 영향을 미칠 수 있습니다. 이때 코드를 복잡하게 만들 수 있으며, 특히 테스트와 관련하여 더 복잡해질 수 있습니다.
간단한 구조 리팩토링
1. 이름 바꾸기
2. 불 필요한 코드
- 죽은 코드
- 추측 코드 및 주석
- 공백
- 아무것도 하지 않는 코드
- 디버깅, 로그