IT is Smart

[클린코드] 이름은 반드시 의미있게 구분하자 본문

Case Study/How to

[클린코드] 이름은 반드시 의미있게 구분하자

달인최선 2018. 6. 23. 14:17
반응형

컴파일러나 인터프리터만 통과하려는 생각에 스스로 문제를 일으키는 경우가 있다.

예를 들어, 동일한 범위 안에서는 다른 두 개념에 같은 이름을 사용하지 못한다. 그래서 한쪽 이름을 마음대로 변경하려는 유혹에 빠지곤 한다. 철자를 살짝 바꿨다가 나중에 스펠링 오류를 고치는 순간 컴파일이 안되는 상황을 겪게 된다.

컴파일러를 통과하더라도 연속된 숫자를 붙이거나 의미없는 문자를 추가하는 방식은 적절하지 못하다.


이름이 달라야 한다면 의미도 달라져야 한다.

a1, a2와 같은 방식이 흔히 사용하는 방식이지만 아무런 의미가 없어 코드를 바로 이해하기 어렵게 만든다.

또, Product라는 클래스가 있는데 다른 클래스를 ProductInfo 혹은 ProductData라고 이름 지으면 개념을 구분할 수 없이 그저 이름만 다르게 사용하는 경우가 된다. Info나 Data는 a, an, the와 마찬가지로 의미가 불분명한 문자일 뿐이다.


a나 the를 사용하지 말라는 말이 아니다. 의미가 분명히 구분된다면 사용해도 된다.

예를 들어 모든 지역 변수는 a를 사용하고 모든 함수 인수는 the를 사용하는 것은 괜찮다.

다만 zork라는 변수가 있다는 이유로 theZork라는 이름을 만들어서는 안된다는 말이다.


읽는 사람이 차이를 알도록 이름을 지어라.


※ 로버트 C 마틴의 클린 코드 참고 

반응형