1. 기이한 이름
- 개발은 추리소설이 아니기 때문에 이상한 변수명 보다는 명료하게 작성해야한다
- 이름 짓기는 프로그래밍에서도 가장 어렵기로 손꼽힌다.
2. 중복 코드
3. 긴 함수
- 잘 활용되는 프로그램은 짧은 함수로 구성된 것이 많다.
- 코드를 이해하고, 공유하고, 선택하기 쉬운 것은 짧은 함수로부터 시작이 된다.
- 짧은 함수를 쉽게 이해하기 위해서는 함수명을 잘 지어야함
- 함수의 이름에서는 동작 방식이 아닌, 의도가 드러나야함
4. 긴 매개변수 목록
- 매개변수가 길어 질수록 매개변수를 질의 함수로 바꾸기를 생각 해봐야한다.
- 객체 통째로 넘기기 또한 방법이 될 수 있다.
5. 전역 데이터
- 전역 데이터는 우리각 겪을 수 있는 악취 중 지독한 악취에 포함된다.
- 변수 캡슐화(getter, setter)로 방지가 가능함
6. 가변 데이터
- 값이 도중에 바뀌는 변수를 뜻함 -> 전역 변수가 setter 없이 바로 스스로 값을 바뀌는 경우
예상치 못한 값으로 변경 되기 때문에 조심
7. 뒤엉킨 변경
- 특정 한 부분을 수정해야할 때, 의존성이 너무 많이 걸려있어서 쉽게 바꿀수 없느 경우를 뜻함
- SRP가 제대로 지켜지지 않은 경우
8. 산탄총 수술
- 뒤엉킨 변경과 비슷하지만, 이 케이스는 조금 더 여러 코드로 흩뿌려져 있는 케이스를 말함
9. 기능 편애
- 자기가 속한 모듈의 함수나 데이터보다 다른 모듈의 함수나 데이터에 더 의존성이 걸린 경우를 말함
10. 데이터 뭉치
- 데이터 끼리 너무 많은 뭉치로 있는 경우를 말함
11. 기본형 집착
- 개발을 하게 되면 수많은 수치나 단위 또는 많은 타입을 만나게 되는데 이걸 전부 기본형 타입으로 처리하려고 하는 것
- 기본형을 객체로 바꾸기
12. 반복되는 SWITCH 문
- 조건부 로직을 다형성으로 바꾸기 ( https://developer-tj.tistory.com/53 )
- SWITCH 문이 무조건 나쁜건 아니지만, 추후 기능 추가시 하드 코딩을 하게 되는 부분은 좋지 않음
13. 반복문
- 현재는 filter, map 등 파이프라인 연산을 사용하면 각 원소들이 어떻게 처리 되는지 쉽게 파악이 가능함
14. 성의 없는 요소
-
'ETC' 카테고리의 다른 글
| 리팩토링 개정판 _ Chapter 02 리팩터링 원칙 : 두번째 (0) | 2025.09.16 |
|---|