02. 클린 코드 - 2. 의미있는 이름(7)

클린 코드 - 애자일 소프트웨어 장인 정신(로버트 C.마틴 지음 | 박재호.이해영 옮김)
를 읽고 정리한 내용입니다.
개인적으로 공부한 내용을 정리하려는 목적임을 알려드립니다.


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

  • 문자 하나만 사용하는 변수 이름은 문제가 있다.
  • 루프에서 반복 횟수를 세는 변수 i, j, k괜찮다.
    • l절대 안된다!(1과 구분하기 어려우므로)
  • 단, 루프 범위가 아주 작고 다른 이름과 충돌하지 않을 때만 괜찮다.
  • 그 외에 대부분 적절하지 못하다.

  • 똑똑한 프로그래머와 전문가 프로그래머 사이에서 나타내는 차이점 하나는,
    전문가 프로그래머는 명료함이 최고라는 사실을 이해한다.
    자신의 능력을 좋은 방향으로 사용해 남들이 이해하는 코드를 내놓는다.

8) 클래스 이름

  • 클래스 이름객체 이름명사명사구적합하다.
    동사사용하지 않는다!

  • ex)
    좋은 예: customer, WikiPage, Account, AddressParser
    피하는 단어: Manager, Processor, Data, Info

9) 메서드 이름

  • 메서드 이름은 동사동사구적합하다.

  • ex)
    좋은 예: postPayment, deletePage, save
    접근자(Accessor), 변경자(Mutator), 조건자(Predicate)
    javabean 표준에 따라 값 앞에 get, set, is를 붙인다.
1
2
3
4
string name = employee.getName();
customer.setName("mike");
if (paycheck.isPosted())
// ...


  • 메서드인수를 설명하는 이름을 사용한다.
  • 아래 코드의 메서드명이 인수를 설명하고 있기 때문에
    위 코드보다 아래 코드보다 더 좋다.
1
Complex fulcrumPoint = new Complex(23.0);
1
Complex fulcrumPoint = Complex.FromRealNumber(23.0);

10) 기발한 이름은 피하라.

  • 재미난 이름보다 명료한 이름을 선택하라.
  • 특정 문화에서만 사용하는 농담은 피하는 편이 좋다.
    의도를 분명하고 솔직하게 표현하라.