6. 명확하고 간결한 주석 달기

2021. 12. 2. 16:45·Books/읽기 좋은 코드가 좋은 코드다
반응형

이 글은 읽기 좋은 코드가 좋은 코드다(더스틴 보즈웰, 트레버 파우커 지음 / 임백준 옮김 / 한빛미디어) 를 읽고 내용을 정리한 글입니다.

<<주석은 높은 "정보 대 공간" 비율을 가져야 한다!>>

 

1. 주석을 간결하게 하라

// **bad**

//int는 CategoryType이다.
//내부 페어의 첫 번째 float은 'score'다
//두 번째는 'weight'이다.
typedef hash_map<int, pair<float, float>> ScoreMap;

// ----------------------------

// **good**

// CategoryType -> (score, weight)
typedef hash_map<int, pair<float, float>> ScoreMap;

 

2. 모호한 대명사를 피하라

-> 'it', 'that', 'this'를 피하고, 명확한 대상을 적어라

 

3. 엉터리 문장을 다듬어라

-> 안좋은 예: "이 URL을 전에 방문했는지에 따라서 다른 우선순위를 부여한다." 

-> 좋은 예: "전에 방문하지 않은 URL에 높은 우선순위를 부여한다."

 

4. 함수의 동작을 명확하게 설명한다.

-> 안좋은 예: "이 파일에 담긴 줄 수를 반환한다."

-> 좋은 예: "파일 안에 새 줄을 나타내는 바이트('\n')이 몇 개 있는지 센다."

 

5. 코너케이스를 설명해주는 입/출력 예를 사용하라.

-> 안좋은 예: "입력된 'src'의 'chars'라는 접두사와 접미사를 제거한다."

-> 좋은 예: "예: Strip('abba/a/ba', 'ab')은 '/a/'를 반환한다."

-> 너무 단순한 케이스는 도움이 되지 않는다.

 

6. 코드의 의도를 명시하라

-> 프로그램이 수행하는 동작을 코드 그대로가 아닌, 구현 의도에 맞춰 작성하라.

 

7. 이름을 가진 함수 파라미터(Named Function Parameter) 주석

def Connect(timeout, use_encryption): ...

# **bad**
Connect(10, false)

# **good**
Connect(timeout = 10, use_encryption = False)

 

8. 정보 축약형 단어를 사용하라

-> 기능에 대해 지나치가 풀어쓰기 보다 보편적인 단어나 관용구를 사용해 축약 설명하라.

반응형
저작자표시 (새창열림)

'Books > 읽기 좋은 코드가 좋은 코드다' 카테고리의 다른 글

8. 거대한 표현을 잘게 쪼개기  (0) 2021.12.06
7. 읽기 쉽게 흐름제어 만들기  (0) 2021.12.03
5. 주석에 담아야 하는 대상  (0) 2021.12.02
4. 미학  (0) 2021.12.02
3. 오해할 수 없는 이름들  (0) 2021.12.01
'Books/읽기 좋은 코드가 좋은 코드다' 카테고리의 다른 글
  • 8. 거대한 표현을 잘게 쪼개기
  • 7. 읽기 쉽게 흐름제어 만들기
  • 5. 주석에 담아야 하는 대상
  • 4. 미학
개발하는 사막여우
개발하는 사막여우
개발개발 주저리주저리
    반응형
  • 개발하는 사막여우
    개발하는 사막여우
    개발하는 사막여우
  • 전체
    오늘
    어제
    • All (311)
      • Books (13)
        • 읽기 좋은 코드가 좋은 코드다 (13)
      • Study (6)
        • Blockchain (3)
        • Algorithm (3)
      • Baekjoon (36)
      • Programmers (166)
      • LeetCode (15)
      • Open Source (1)
        • Youtube Popout Player (1)
      • Language (32)
        • Python (9)
        • JS (8)
        • Java (5)
        • HTML (6)
        • CSS (4)
      • Library & Framework (15)
        • React.js (15)
      • IDE (2)
        • IntelliJ (2)
      • Airdrop (9)
      • Tistory (2)
      • etc.. (7)
        • Cozubi (6)
        • lol-chess (0)
  • 블로그 메뉴

    • Github
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    프로그래머스 위클리 챌린지
    알고리즘문제풀이
    Java
    2018 KAKAO BLIND RECRUITMENT
    카카오 알고리즘 문제
    신규 코인 에어드랍
    읽기 좋은 코드가 좋은 코드다
    카카오 공채
    프로그래머스
    클린 코드
    Cozubi
    파이썬
    백준
    클린 코드 작성법
    programmers
    코인줍줍
    Python
    카카오 코딩테스트
    코딩테스트연습
    코주비
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
개발하는 사막여우
6. 명확하고 간결한 주석 달기
상단으로

티스토리툴바