소프트웨어에서 이름은 어디나 쓰인다.

변수, 클래스, 메서드, 패키지, jar파일 등… 의미있는 이름을 지키기 위해서 지켜야 할 방법들을 소개한다.

  1. 의도를 분명히 밝혀라

    int a; 와 같이 아무 의미가 없는 변수명을 사용하지 말아라.

    int [] 보다는 의미있는 클래스로 만들어서 사용하라

  2. 그릇된 정보를 피하라

    List가 아닌데 변수명을 accountList와 같이 짓지 마라

    소문자 L, 소문자 O 쓰지마라

    XYZControllerForEffcientStorageOfString, XYZControllerHandlingOrString 과 같이 비슷해서 헷갈릴 수 있는 변수명을 같이 사용하지 말아라

  3. 컴파일러 통과 하기위해 the, a, info, data 와같이 의미없는 단어를 추가하지 마라

    a1, a2, a3 와 같이 컴파일러를 통과하기 위한 의미없는 명을 짓지 말아라

    Data, Info, a, an, the, s, Object등을 의미없게 붙이지 마라

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

    앞글자만 따와서 변수명 짓지마라(ex. ymdt = year, month, day, time 을 축약)

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

    상수를 그냥 쓰는 것 보다 변수로 빼서 이름을 지어 사용하라

  6. 인코딩 하지 마라

    접두어 쓰지마라 (ex. m_account) 함수는 접두어가 필요없을 만큼 작으면 된다.

    인터페이스와 구현체를 구현할 때 인터페이스명에 I붙이지 마라. 차라리 구현체에 impl이나 C를 붙여라

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

    자신만 아는 이름을 변수로 사용하지 마라 (ex. 변수 r 선언해놓고 아 얘는 url의 의미야 ~)

  8. 클래스 이름은 명사, 메서드 이름은 동사, 특히 생성자는 의미있는 이름을 가진 정적팩토리 메서드로 만든다.

  9. 나만 알고있는 재치있는 단어, 농담으로 변수명 이름 짓지 말라

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

    controller, manager, driver같이 한 개념에 여러단어를 섞어서 사용하지 말아라

  11. 말 장난 하지 마라

    한 개념에 한 단어를 사용하랬다고 다 add로 통일해버리지 말아라. 두 숫자를 더하는 것을 add로 했다면, 한 숫자가 집합에 포함되는 것은 add가 아닌 insert나 append를 사용하라.

  12. 프로그래머 세계에서 통용되는 단어를 사용하라. 그렇지 않으면 도메인에서 통용되는 언어를 사용하라

    JobQueue같은 기술 개념언어를 사용하라

    도메인 용어를 사용하라

  13. 의미있는 맥락을 추가하라

    state 만 가지고는 이 값이 주소에 쓰이는 값인지 모른다. addr_state로 사용을 하던가, Address 클래스를 만들어 포함시켜라.

  14. 불필요한 맥락을 없애라

    Address관련 프로그램을 개발한다고 모든 클래스 앞에 ADDR 을 포함하지 마라. 클래스 검색하면 모든 클래스 다 뜬다.

    일반적으로 의미가 분명한 경우에는 짧은 단어를 쓰자