개발하는 사막여우
개발하는 사막여우
개발하는 사막여우
전체 방문자
오늘
어제
  • All (310)
    • 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.. (12)
      • Cozubi (6)
      • lol-chess (0)

블로그 메뉴

  • Github

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
개발하는 사막여우

개발하는 사막여우

6. 명확하고 간결한 주석 달기
Books/읽기 좋은 코드가 좋은 코드다

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

2021. 12. 2. 16:45
반응형

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

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

 

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. 미학
    개발하는 사막여우
    개발하는 사막여우
    개발개발 주저리주저리

    티스토리툴바