Naming : 의미 있는 이름


이름은 그 사람의  또는 그 사물의 본질. 특징을 지정하는 경우가 많다. 이름을 짓는 것은 매우 중요한 의미가 있다. 아래에 저자가 밝힌 부분을 코딩시 반영하는 것이 좋게 보인다. 결국 의미를 발견하고, 그 의미에 맞게 소통하는 방법이다.




프로그래밍에서 naming이 상당히 중요하다
저자는 이 부분에 대해서 다음과 같이 밝힌다.

의도를 분명히 밝혀라

의도가 분명하게 이름을 지으란 이야기다.


1
2
3
4
5
6
7
8
// 나쁜 예
var d: Int
// 좋은예 
var deapsedTimeInDays: Int
var daysSinceCreation: Int
var daysSinceModification: Int
var fileAgeInDays: Int
cs


그릇된 정보를 피하라

코드에 그릇된 단서를 남기면 안된다. 널리 사용되는 의미 있는 단어를 다른 의미로 사용하면 혼란을 줄 수 있다.

의미있게 구분하라

단순히 컴파일러나, 인터르피터만 통과하려는 생각으로 코드를 구현하려다 문제를 일으킬 수 있다.

발음하기 쉬운 이름을 사용하라

발음이 손쉽지 않을 경우, 가독성이 떨어진다. 읽기 쉬워야 소통이 편하다.

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

문자 하나를 사용하는 이름과 상수는 텍스트 코드에서 쉽게 눈에 뛰지 않는다. 검색이 가능해야 좋다.

인코딩을 피하라


인코딩을 넣으면 가독성이 떨어진다.

헝가리식 표기법

예전엔 많이 사용한 방법이지만, 현대로 옮겨오면서 사용을 피하는 것이 좋다.


맴버 변수 접두어

접도어도 마찬가지다. Swift 의 경우도 Objective-C에서 사용하던 접두어를 이젠 사용하지 않는 편이 보인다.


인터페이스 클래스와 구현 클래스


자신의 기억력을 자랑하지 마라

명료하고, 남들이 쉽게 이해할 수 있게 작성하라

클래스 이름

명사형으로 작성

매서드이름

동사구가 적합하다.


기발한 이름은 파하라

명료하게 작성하는 것이 좋다.

한 개념에 한 단어를 사용하라

말장난을 하지 마라

해법 영영겡서 가져온 이름을 사용하라

문제 영역에서 가져온 이름을 사용하라

의미 있는 맥락을 추가하라

불필요한 맥락을 없애라







출처 : 클린코드 (by 로브트 C. 마틴) chapter.02

댓글

이 블로그의 인기 게시물

enum에 별명주기 (CustomStringConvertible Protocol)

깨끗한 코드는 한 가지를 제대로 한다.