반응형
//리스트를 역순으로 반복한다.
for(list<Prodject>::reverse_iterator it = prodjcts.rbegin(); it != products.rend();++it)
DisplayPrice(it->price);
- 앞 시간에 얘기했듯 주석은 읽는 사람을 생각하며 작성하는 것이다. 해당 주석은 새로운 정보 없이 코드 수행 그대로 적어 놓은거라 좋은 주석이라고 할 수 없다고 한다.
//각 가격을 높은 값에서 낮은 값 순으로 나타낸다.
for(list<Prodject>::reverse_iterator it = prodjcts.rbegin(); it != products.rend();++it)
DisplayPrice(it->price);
- 이 주석이 첫번째 주석보다 좋은 이유는 책에서 설명하길 해당 코드엔 보이지 않지만 사실 이 코드엔 버그가 있다고 한다. 이미 높은 값에서 낮은 값으로 정렬되어 있어 반대로 수행된다고 한다. 그래서 결과값과 주석이 다른 것을 파악할 수 있어 좋은 주석이라 할 수 있다.
Connect(10,false);
- 해당 코드에서 10와 false가 무엇을 의미하는지 불분명하다
Connect(timeout = 10, use_encryption = False)
- 파이썬의 경우 파라미터를 넘길때 이름까지 함께 작성이 가능하다고 한다.
하지만 C++와 같은 언어들은 불가능하기에 주석을 넣어주어야 한다.
Connect(/*timeout = */10, /*use_encryption =*/ False)
- 이렇게 주석을 넣어주면 이 값이 무엇을 의미하는지 명확히 알 수 있다.
단, 매우 귀찮겠지만 그럼에도 책에서는 이러한 방식을 했을 때 효과적이였고 그렇게 또 귀찮지 않다고 얘기해주고 있다.
여태 내용을 좀 요약해보면
- 'it'이나 'this'같은 대명사는 최대한 명확하게 바꿔주는 게 좋다.
- 함수의 동작을 실제로 표현할 수 있는 한도 내에서 명확하게 표현해줘라
- 필요하다면 입/출력의 예시로 주석을 서술해도 좋다.
- 코드가 가진 의도를 너무 자세히 작성할 필요 없다. 개괄적으로 설명하면 좋다.
- 함수의 인자가 불분명하다면 Fuction(/*arg=*/...)와 같은 형태로 적어주면 좋다.
- 많은 의미를 함축하는 단어로 주석을 최대한 간단히 표현하라
반응형
'프로그래밍 책 > 읽기 좋은 코드가 좋은 코드다' 카테고리의 다른 글
[읽코좋코] 조건문 (1) | 2025.06.16 |
---|---|
[읽코좋코] 루프와 논리 단순화 (0) | 2025.06.12 |
[읽코좋코] 주석의 문장을 명확하게 (0) | 2025.06.11 |
[읽코좋코] 간결한 주석 (1) | 2025.06.11 |
[읽코좋코] 주석 (0) | 2025.06.10 |