2022-01-27 독서 일지

의미있는 이름

  • 의도를 분명히 밝혀라
  • 그릇된 정보를 피하라
  • 의미있게 구분하라
  • 발음하기 쉬운 이름을 사용하라
  • 검색하기 쉬운 이름을 사용하라
  • 인코딩을 피하라
  • 기억력을 자랑하지 마라
  • 클래스는 명사나 명사구를 사용하라
  • 메소드는 동사나 동사구를 사용하라
  • 기발한 이름은 피하라
  • 한 개념에 한 단어를 사용하라
  • 말장난을 하지마라
  • 패턴 또는 알고리즘 등 대중적인 개념에서 가져온 이름을 차용하라
  • 도메인 영역에서 가져온 이름을 사용하라
  • 의미 있는 맥락을 추가하라
  • 불필요한 맥락을 없애라

함수

  • 작게 만들어라, 더 작게 만들어라
  • 한 가지만 해라
  • 함수는 한 가지를 해야한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다.
  • 함수당 추상화 수준은 하나로
  • Switch 문은 다형성을 이용해 하나만 만들어라.
  • 서술적인 이름을 사용하라.
  • 함수 인수는 없는게 제일 좋다. 그 다음은 1개, 2개 부터 의미가 흐려지며 3가지는 사용 하지 마라.
  • 2개 또는 3개 이상의 인수가 하나의 개념을 전달하려 한다면 인수 객체를 생성해 전달하라
  • 좋은 함수 이름은 동사/명사로 쌍을 이룬다
  • 부수 효과를 일으키지 마라
  • 출력 인수는 사용하지 않는다
  • 명령과 조회를 분리하라
  • 오류 코드 보다 예외를 사용하라
  • Try/catch 블록 뽑아내기
  • 오류 처리도 한 가지 작업이다
  • 반복하지 마라

주석

  • 주석은 나쁜 코드를 보완하지 못한다.
  • 코드로 의도를 표현하라.
  • Todo 주석
  • 함수나 변수로 표현할 수 있다면 주석을 달지 마라
  • 주석과 주석이 설명하는 코드는 둘 사이 관계가 명확해야 한다.
  • 주석은 내 코드를 읽을 독자를 위해 쓴다
  • 짧은 함수는 주석이 필요 없으며 코드가 성명을 대신한다

형식 맞추기 ( Code Style)

  • 하나의 파일에 적절한 코드 길이를 유지하라
  • 한개의 파일이 평균 200줄로도 커다란 시스템을 구축할 수 있다
  • 신문 기사 처럼 작성하라
  • 개념은 빈 행으로 분리하라
  • 변수는 사용하는 위치에 제일 가깝게 둬라
  • 한 함수가 다른 함수를 호출한다면 읽는 방향에 맞게 순서를 배치하라
  • 개념적 유사성이 높을수록 코드를 가까이 배치하라
  • 가로형식은 여러 프로젝트를 분석해본 결과 20~60자는 40% 10자 미만은 30% 80자 이후 부터는 급격하게 줄어든다.
  • 프로그래머는 명백하게 짧은 행을 선호한다.

자료구조

  • 자료는 추상화 한다.

reference

  • 로버트 C. 마틴 지음, 박재호·이해영 옮김 『 Clean Code 』, 프로그램 프로그래밍 프로그래머, 인용.