본문 바로가기

프로그래밍&IT/학습, 책

[클린 코드] 3. 함수 / 주석 / 형식 맞추기

3. 함수

첫번째 규칙은 작게, 두번째 규칙은 더 작게

함수에서 들여쓰기 수준은 1,2단 내로

1가지만 한다. 함수당 추상화 수준은 하나로

위에서 아래로 코드를 읽기 좋도록

서술적인 이름을 사용한다. 일관성이 있어야 한다 (모듈 내에서는 같은 문구, 명사, 동사를 쓴다)

함수 인수는 되도록 줄인다. 많이 쓰는 단항식: 1. 인수질문던지기- FileExists("a.txt") 2. 인수 변환 결과 InputStream FileOpen("a.txt")

명령과 조회를 분리하라

오류코드보단 예외를 사용하라

반복하지마라

코딩은 글짓기와 비슷하다. 생각을 기록 후 읽기좋게 다듬는다

 

4. 주석

  • 나쁜 코드에 주석을 달지말고 새로 짜라 - 브라이언 W. 카니핸, P.J 플라우거
  • 경솔하고 근거없는 주석은 코드를 이해하기 어렵게 만든다
  • 부정확한 주석은 아예 없는 주석보다 훨씬 더 나쁘다
  • 주석은 나쁜 코드를 보완하지 못한다
  • 코드로 의도를 표현하라.

좋은 주석

법적인 주석 ex) Copyright (c) ~

정보를 제공하는 주석 ex) kk:mm:ss EEE, MMM dd, yyyy 형식이다

의도를 설몀

결과를 경고

중요성을 강조하는 주석

나쁜 주석

주절거리기

같은 이야기를 중복하는 주석

오해할 여지가 있는 주석

의무적으로 다는 주석

이력을 기록하는 주석. 당시는 소스 코드 관리 시스템이 없었으니. 지금은 혼란만 가중

있느나 마나 한 주석 ex) 기본 생성자

함수나 변수로 표현할 수 있다면 주석을 달지말라

닫는 괄호에 다는 주석 ex) } // while // trry 등

공로를 돌리거나 저자를 표시하는 주석 - 이런 건 소스코드 관리 시스템에 저장하는 편이 좋다.

주석으로 처리한 코드

HTML 주석

전역 정보. 주석을 달아야 한다면 근처에 있는 코드만. 시스템 전반적인 정보를 기술하지 말라

너무 많은 정보

모호한 관계. 코드와 주석 관계가 명백해야

 

5. 형식 맞추기

적절한 행 길이를 유지하라. 일반적으로 큰 파일보단 작은 파일이 이해하기 쉽다

신문기사처럼. 이름은 간단하면서 설명이 가능하게.. 아래로 내려갈수록 의도를 세세히 묘사

개념은 빈 행으로 분리. ex) 패키지선언부, import, 각 함수 사이에 빈 행이 들어간다. 새로운 개념이 시작한다는 단서

세로 밀집도? 연관성 의미 <변수 선언은 가까이 선언해서 변수를 구분>

개념적 유사성

적절한 들여쓰기