728x90
1. 의도가 분명하다.
개발자는 변수, 함수, 클래스의 존재 이유, 수행 기능, 사용 방법을 모두 답할 수 있어야 한다.
클래스 이름: 명사나 명사구가 적합하다. 동사는 사용하지 않는다.
메서드: 동사나 동사구가 적합하다.
2. 그릇된 정보가 없다.
일관성이 떨어지는 표기법을 이름으로 사용하면 안 된다.
진짜 끔찍한 예시
int a = l;
if(O == 1)
{
a = O1;
}
else
{
l = 01;
}
1과 l, 0과 O의 생김새가 비슷해서 헷갈리게 된다.
이런 코드는 생산성을 저하시킨다.
3. 의미 있게 구분된다.
컴파일러를 통과하려는 생각만 가지고 코드를 구현하는 게 아니라, 읽기 쉬운 코드를 구현하자.
- a, the, Info, Data와 같은 불용어를 추가한 이름은 아무런 정보도 제공하지 못한다.
4. 발음, 검색하기 쉽다.
의미가 분명하면 이 문제를 해결할 수 있다.
다른 개발자와 코드에 대해 이야기 나눌 때 편해진다.
5. 인코딩한 이름이 아니다.
인코딩한 이름은 발음하기 어렵고 오타가 생기기 쉽다.
헝가리안 표기법을 지양하자.
6. 불필요한 맥락을 없애라
이름은 최대한 짧으면서 의미를 분명해야 한다.
네이밍 시 의미를 유지하면서 최대한 압축할 수 있을 정도로 압축하자.
의미 있는 이름을 사용하는 이유. (장점)
코드 이해와 변경이 쉬워진다.
프로그래머가 일을 할 때 거의 코드를 이해하는 시간이 80%, 변경하는 시간이 20%다.
그만큼 코드를 이해하는 시간은 정말 중요하다.
의미있는 이름을 사용하면 코드를 이해하는 시간이 줄어들고, 그만큼 생산성이 증가한다.
나중에 유지보수도 쉬워진다.
반응형
'개발공부 > Clean Code' 카테고리의 다른 글
[클린코드] 부적절한 코드 스타일 (0) | 2021.12.28 |
---|---|
[클린코드] 클래스 (0) | 2021.12.20 |
[클린코드] 깨끗한 테스트 규칙 FIRST (0) | 2021.12.16 |
[클린코드] 함수 (0) | 2021.12.08 |