////
Search
Duplicate
🏓

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

이 장에서는 주석을 어떻게 명확하고 간결하게 작성하는지 살펴본다.
주석은 명확하게, 최대한 구체적이고 자세하게 작성해야 한다. 또한 간결해야 한다.

주석을 간결하게 하라

구구절절하게 적을 필요가 없다. 필요한 핵심만 전달할 수 있게 하자.

모호한 대명사는 피하라

구체적이지 않은 지칭은 오해와 혼돈을 불러온다. 명확하게 해라.

엉터리 문장을 다듬어라

문장을 복잡하게 만들지 마라.
A했는지에 따라서 B한다보단 C했을때 B한다가 낫다.
즉 문장을 복잡하게 만들어 읽는 사람을 헷갈리게 하지 말란 예시다.
주석은 구체적인게 좋다.

함수의 동작을 명확하게 설명하라

메소드명에서 충분히 유추할 수 있는 내용을 반복하지 마라.
해당 메소드의 구현이 너무나 간단해 확인할 필요가 없을때, 주석을 달아서 그런 일을 하는구나.. 하는 정도로 하고 넘어가게 두어라.

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

주석을 작성하는데 신중하게 선택된 입/출력 예는 그 무엇보다도 좋다.
// 입력된 'src'의 'chars'라는 접두사와 접미사를 제거한다. String strip(String src, String chars);
Java
복사
이 주석은 chars가 제거되어야하는 부분 문자열인지 아니면 특정한 순서가 정해지지 않은 문자의 집합인지 알려주지 않는다.
src의 끝에 chars가 여러번 있다면 어떻게 되어야하는가?
가장 좋은 방법은 입력과 출력을 신중하게 선택해서 주석으로 보여주는 것이다.

코드의 의도를 명시하라

주석 달기는 코드를 작성하면서 생각했던 바를 코드를 읽을 사람에게 전달해주는 것이다.
불행하게도 대부분의 주석은 새로운 정보를 제공하지 않고 수행하는 동작을 그대로 설명하는데 그친다.
구체적인 구현을 설명하는 것은 코드를 보게되는 시점에 크게 의미가 없어진다. 대신 도메인 언어로 설명을 해주면 더 좋을 것이다.

이름을 가진 함수 파라미터 주석

파라미터로 넘겨줄때 count(a, b)말고 count(a /* = 기존 값 */, b /* 카운트할 횟수 */) 이런식으로 하라는 것이다.
⇒ 솔직히 이렇게까지 해야할까? 싶었다..

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

특정한 문제가 반복될 때, 이런 패턴은 추상화시킬 수 있다. 즉 축약형 단어를 사용해서 표시할 수 있다.

요약

이 장에서는 간결함과 명확함을 주석에서 확보하는 방법에 대해서 알아봤다.
대명사가 여러가지를 가리킬 가능성이 있다면 사용하지 않는 것이 좋다.
함수의 동작을 실제로 할 수 있는 한도 내에서 최대한 명확하게 설명하라.
⇒ 동작이다 구현 아니다.
신중하게 선택된 입/출력 예로 주석을 서술하라.
코드가 가진 의도를 너무 자세한 내용이 아니라 높은 수준에서 개괄적으로 설명하라.
같은 줄에 있는 주석으로 의미가 불분명한 함수의 파라미터를 설명하라.
많은 의미를 함축하는 단어로 주석을 간단하고 명료하게 만들어라.