리팩토링을 하려면, 리팩토링이 필요한 코드를 찾아야하는데, 리팩토링 책에서는 그것을 냄새(Smell)라고 표현함.
깔끔한 코드에서 가장 중요한 것들 중 하나는 "좋은 이름"이다.
함수, 변수, 클래스, 모듈의 이름 등은 모두 어떤 역할을 하는지, 어떻게 쓰이는지 한번에 알아볼 수 있도록 직관적이어야 한다.
이를 이룰 수 있게 해주는 리팩토링은 다음과 같다.
1. 함수 선언 변경하기 (Change Function Declaration)
2. 변수 이름 바꾸기 (Rename Variable)
3. 필드 이름 바꾸기 (Rename Field)
1. 함수 선언 변경하기 (Change Function Declaration)
좋은 이름을 가진 함수는 그것의 이름만 보고도 함수가 어떻게 구현되었는지 이해할 수 있다.
좋은 이름을 찾아내기 위해선, 함수에 먼저 주석을 작성한 다음 그것을 함수 이름으로 만들어보면 쉽다.
함수의 매개변수는 함수 내부의 문맥과, 함수의 의존성을 결정한다.
함수, 메소드의 이름 등을 바꿀 때엔 Shift + F6을 눌러 그것의 이름을 쉽고 빠르게 변경할 수 있다. (인텔리제이 기준)
2. 변수 이름 바꾸기 (Rename Variable)
람다식에서 사용하는 변수와 같이 스코프가 작은 변수와 달리, 전역변수와 같이 스코프 큰 변수일수록 더욱 많이 사용된다. 그리고 변수가 많이 사용될 수록 그 이름은 더욱 중요해진다.
3. 필드 이름 바꾸기 (Rename Field)
필드의 이름은 어떤 클래스의 범위를 벗어나서도 사용될 수 있기 때문에 사용되는 범위가 넓고, 그렇기에 그 이름이 매우 중요하다.
Record 자료구조는 특정 데이터와 관련있는 필드를 묶어놓은 자료구조이다.
Record는 Python의 Dictionary, C#의 Record와 비슷하며, Java 14 이상에서 지원한다.
'인프런 > 코딩으로 학습하는 리팩토링' 카테고리의 다른 글
냄새 2. 중복 코드 (Duplicated Code) (0) | 2022.06.18 |
---|