| 인프런 - 백기선님의 코딩으로 학습하는 리팩토링 강의를 수강하며 정리한 글입니다.
중복 코드
- 단점
- 비슷한 것인지, 동일한 것인지 주의 깊게 코드를 살펴보아야 한다.
- 코드 수정 시, 동일한 모든 곳을 수정해야 한다.
- 미래의 버그 유발 가능성 제공
- Ex) A 수정, B 반영 X
- 방법
- 함수 추출하기
- 코드 분리하기
- 메서드 올리기
Refactoring 1. 함수 추출하기
- 의도와 구현 분리하기
- 코드를 함수로 분리한다면, 함수 이름으로 무슨 일을 하는지 표현할 수 있다.
- 주석 -> 함수를 추출하는데 있어 좋은 단서
- 의도를 들어낼 수 있다면 한 줄로 이루어진 메서드도 괜찮다.
Refactoring 2. 코드 정리하기
- 관련있는 코드끼리 묶어야 가독성이 증가한다.
- 변수는 사용하는 코드 바로 위에 선언하자.
- 관련 있는 코드를 묶은 후 함수 추출하기를 적용하면 더 깔끔한 분리가 가능하다.
Refactoring 3. 메서드 올리기
- 여러 하위 클래스에 동일한 코드가 있을 경우 사용한다.
- 비슷하지만 일부 값만 다른 경우, 함수 매개변수화 리팩토링 적용 후 사용한다.
- 하위 클래스에 있는 코드가 상위 클래스가 아닌 하위 클래스 기능에 의존하고 있다면 필드 올리기 적용 후 사용한다.
- 두 메소드가 비슷한 절차를 따른다면, 템플릿 메서드 패턴 적용 고려
'클린코드' 카테고리의 다른 글
[Refactoring] 6. 가변 데이터 (0) | 2022.09.09 |
---|---|
[Refactoring] 5. 전역 데이터 (0) | 2022.09.08 |
[Refactoring] 4. 긴 매개변수 목록 (0) | 2022.09.07 |
[Refactoring] 3. 긴 함수 (0) | 2022.09.06 |
[Refactoring] 1. 이해하기 힘든 이름 (0) | 2022.09.05 |