독서 기록/클린 코드

[클린 코드] 2장 의미 있는 이름

JoJobum 2023. 1. 21.

의도가 분명하게 이름을 지어라

좋은 이름을 짓는데는 시간이 걸리지만 좋은 이름으로 시간을 절약하는 시간이 더 많다.
만약 따로 주석이 필요하다면 의도를 충분히 드러내지 못한 것이다.

 

그릇된 정보를 피해라

Ex) 빗변(hypotenuse) 을 hp로 줄인다면 훌륭한 약어처럼 보이겠지만 hp로 빗변을 직관적으로 떠올리거나 다른 의미로 인식할 수 있음


서로 비슷한 이름을 사용하지 않는 것도 중요
유사한 개념은 유사한 표기법을 사용해야한다
일관성이 떨어지는 표기법은 그릇된 정보다

 

불용어는 중복이다

ex) 변수에 variable은 중복, 표에 table 도 중복
ex2) getActiveAccount(), getActiveAccounts(),getActiveAccountInfo() 중 어떤 메소드가 원하는 메소드인지 이름만 보고 알 수 없다 => 잘못된 네이밍

 

검색하기 쉬운 이름을 사용하자

이런 관점에서 긴 이름이 짧은 이름보다 좋다
이름 길이는 범위 크기에 비례해야 함 즉, 여러 곳에서 사용할수록 검색하기 쉬워야 한다 라는 것

클래스 이름은 명사나 명사구가 적합
메서드 이름은 동사나 동사구가 적합
기발한 이름을 피할 것

 

한 개념에 한단어만 사용할 것

ex) 똑같은 메서드를 클래스마다 fetch, retrieve, get으로 제각각 부르면 혼란스러움

 

독자를 고려할것

즉 코드를 읽을 사람을 고려하면 프로그래머가 읽을 것을 고려하라는 것이다
고로 기술 개념에는 기술 이름이 가장 적합한 선택
적절한 용어가 없다면 문제 영역에서 가져온 이름을 선택할 것

반응형

댓글