CleanCode Memo - 1

chaaany·2022년 1월 11일
0

독서/CleanCode

목록 보기
1/1
post-thumbnail

클래스 이름

  • 명사나 명사구
    • good : Customer, WikiPage, Account, AddressParser
    • bad : Manage, Processor, Data, Info

메서드 이름

  • 동사나 동사구
  • good : postPayment, deletePage, save
  • 접근자, 변경자, 조건자 : get, set, is를 붙인다.
  • 생성자를 중복정의 할 때 : 정적 팩토리 메서드를 사용
    • good : Complex fulcremPoint = Complex.FromRealNumber(23.0);
    • bad : Complex fulcrumPoint = new Complex(23, 0);
  • 생성자 사용 제한 : private 선언

기발한 이름은 피하라

  • 의도를 분명하고 솔직하게 표현하라.

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

  • 추상적인 개념 하나에 단어 하나를 선택해 이를 고수한다.
  • 메서드 이름은 독자적이고 일관적이어야 한다.

말 장난을 하지마라

  • 한 단어를 두 가지 목적으로 사용하지 마라.

해법 영역에서 가져온 이름을 사용하라.

  • 코드를 읽을 사람도 프로그래머라는 사실을 명심한다.

<모르는 용어>

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

  • 적절한 프로그래머 용어가 없다면 문제 영역에서 이름을 가져온다.
  • 분야 전문가에게 의미를 물어 파악할 수 있다.
  • 우수한 프로그래머와 설계자라면 해법 영역과 문제 영역을 구분할 줄 알아야 한다.

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

  • 클래스, 함수, 이름 공간에 넣어 맥락을 부여한다.
  • 모든 방법이 실패하면 마지막 수단으로 접두어를 붙인다.
  • 클래스를 생성하여 변수가 좀 더 큰 개념에 속한다는 사실을 컴파일러에게 분명하게 할 수 있다.

<모르는 용어>

  • 헝가리식 표기법
  • 정적 팩토리 메서드
  • VISITOR 패턴 JobQueue
profile
2x 개발자가 되고 싶은 사람

0개의 댓글