본문 바로가기
Programming/Clean Code

Clean Code - 깔끔한 변수명(Variable Name)

by 썽하 2021. 12. 17.

클린 코드/깔끔한 코드에 대해서 정리해보고자 한다.

이번글에서는 변수명을 어떻게 작성하는게 좋은지 정리하고자 한다.

 

의도가 분명할 것

변수, 함수, 클래스의 이름은 존재 이유, 수행 기능, 사용방법이 드러나야 한다.
주석이 필요하다면 의도를 드러내지 못했음을 의미한다.
맥락이 분명하다면 짧게 작성하자.

수정 전
수정 후
수정 전
수정 후

 

정보와 의미를 담아야 한다

연속적인 숫자는 의미를 담지 못한다.

개념의 구분이 없이 이름만 다른 경우 혼동을 준다.

연속적인 숫자 파라미터
연속적인 숫자 제거
동일한 개념을 가진 여러 변수명

발음하기 쉬울 것

(다음 예시의 위쪽 변수는 어떻게 읽겠을 수 있을까 ㅡㅡ; 사실상 불가능)

발음의 차이

 

검색하기 쉬울 것

한 글자 변수명은 검색도 어렵고 직접 찾기도 어렵다.

숫자는 constant로 정의해두자.

막장 코드
수정된 코드

인코딩을 피하자

헝가리안 표기법처럼 타입을 변수명 앞에 붙일 필요 없다.
- 요즘 IDE는 타입을 모두 알려준다.
- 요즘 컴파일러는 타입을 기억하고 강제한다.
멤버 변수에 m_접두어를 붙일 필요 없다.
- 요즘엔 IDE가 다 보여준다.
- 클래스와 함수를 점점 작게 만드는 추세라, 선언과 사용 위치의 거리가 가깝다.
인터페이스와 구현은 뒤에 Impl이라고 붙이는 추세
- Iclass, Cclass VS Class, ClassImpl (후자가 더 직관적이다)

축약하지 말자

인코딩 예시

 

불필요한 중복을 제거하자

속성이나 클래스 이름이 변수명에 중복될 필요가 없다. 

중복 예시

 

댓글