< 그릇된 정보를 피하자 >
코드에서 잘못된 정보를 제공하는 이름을 사용하면, 코드를 읽는 사람을 혼란스럽게 만들 수 있다. 예를 들어, 리스트가 아닌 것을 'accountList'라고 부르면, 이것은 프로그래머에게 잘못된 정보를 제공하는 것이다. 왜냐하면 프로그래머에게 'List'는 특별한 의미를 갖기 때문이다. 그래서 'accountGroup' 또는 'accounts'와 같이 명명하는 것이 더 좋다.
또한, 아주 비슷한 이름을 사용하면 혼란을 초래할 수 있다. 예를 들어, 'XYZControllerForEfficientHandlingOfStrings'와 'XYZControllerForEfficientStorageOfStrings'는 아주 비슷한 이름이다. 둘 사이의 차이를 구별하기 어렵다. 비슷한 이름을 사용하는 것보다는, 서로 다른 개념은 서로 다른 이름을 사용하는 것이 좋다.
< 의미있게 구분하자 >
코드 내에서 두 개념을 구분하기 위해 이름을 지을 때, 의미있게 구분하는 것이 중요하다. 연속된 숫자를 이름에 추가하거나 (예: a1, a2, ...), 불용어를 추가하는 것은 좋지 않다. 이름이 다르다면, 대표하는 의미도 달라져야 하기 때문이다.
이름에 'variable', 'table' 등의 단어를 추가하는 것 역시 피해야 한다. 이러한 단어는 불필요한 중복을 초래하고, 추가적인 정보를 제공하지 못한다. 예를 들어, 'NameString'이 'Name'보다 무엇이 더 나은가? 아무런 차이가 없다.
< 발음하기 쉬운 이름을 사용하자 >
마지막으로, 이름을 지을 때 발음하기 쉬운 이름을 선택하는 것이 좋다. 우리의 뇌는 단어를 처리하는 데 많은 부분을 사용하며, 그 단어들은 발음이 가능한 것이다. 그래서 발음하기 쉬운 이름을 사용하면, 우리는 코드에 대해 토론하기도 쉽고, 이해하기도 쉽다.
예를 들어, 다음의 두 코드 중 어느 쪽이 더 이해하기 쉬울까?
class DtaRcrd102 {
private Date genydhms;
private Date modymdhms;
private final String pszqint = "102";
};
vs
class Customer {
private Date generationTimestamp;
private Date modificationTimestamp;
private final String recordId = "102";
};
두 번째 코드가 더 이해하기 쉽고, 의미가 명확하다. 그리고 이야기하거나 토론하기에도 훨씬 쉽다.
결국, 이름을 지을 때는 잘못된 정보를 제공하지 않도록 주의하고, 서로 다른 개념에는 서로 다른 이름을 지어야 한다. 또한, 이름은 가능하면 발음하기 쉬워야 한다. 이렇게 하면, 우리의 코드는 읽기 쉽고 이해하기 쉬워질 것이다.
출처 : 출판사 인사이트북 / 클린 코드 / https://product.kyobobook.co.kr/detail/S000001032980
※저의 블로그에 있는 모든 참고 서적,강의 내용은 출판사,저자(혹은 편집자)에게 허락을 직접 맡고, 게시하는 글 입니다.
'Clean Code' 카테고리의 다른 글
함수를 만드는 규칙 (0) | 2023.06.27 |
---|---|
의미있는 이름③ : 효과적 검색과 인코딩 방지/클래스,메서드 이름 (0) | 2023.06.27 |
의미있는 이름① : 의도를 노출하는 이름 선택하기 (0) | 2023.06.27 |