개발공부/Clean Code

[클린코드] 의미 있는 이름의 특징

개발자 찐빵이 2021. 12. 7. 22:21
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