ETC

리팩토링 개정판 _ Chapter 03 코드에서 나는 악취 : 세번째

minquu 2025. 9. 16. 12:50
반응형

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