11章 コメント
#良いコード/悪いコードで学ぶ設計入門 11章
コメントは読み手にコードの理解を促すために記述します。(Kindle 版 p.393)
(『リーダブルコード』でも同様)
コメントのルール (11.4)
ロジックの挙動をなぞるだけのコメントは書かない (11.1)
理解にさほど貢献しない上、逆に偽情報が紛れ込んで害をなす可能性があり、役立ちません。(Kindle 版 p.396)
技情報が紛れ込む=退化する
コードと比べてコメントはメンテされづらい
(コードだけ更新されて乖離していく)
(入門書で見がち。読者にロジックの挙動を説明する必要があるため。これを真似てしまう)
(IMO:進次郎コメント https://twitter.com/ftnext/status/1562486995896508417 と名付けたことがある)
コメントで命名をごまかさない (11.2)
指示通りに行動可能か、canActの例
メソッドの可読性を上げることで、再説明のコメントが不要になります。(Kindle 版 p.399)
コメントで伝えるのは、意図と仕様変更時の注意点 (11.3)
コードが読まれるのは、保守と仕様変更時
保守では意図を知りたい
仕様変更では安全に変更できる方法を知りたい
IMO:コメントがほとんど不要になるようにコードに情報を込めたい立場
OSS見ていて、issueのリンクの掲載などはやる(意図と仕様変更時の注意点がissueにあるからではないか)
「退化コメント」しがちなので、コメントは最小限にしたい考え
11.5 ドキュメントコメント
Pythonだとdocstring(Sphinx)
TODO:合わせて読みたい
コードには How、テストコードには What、コミットログには Why、コードコメントには Why notを書こう
『リーダブルコード』5章・6章
6章 コメントは正確で簡潔に
「コメントを書かなくとも内容がわかるようなコードを目指す」(コメント(Code Smell)『リファクタリング(第2版)』)
IMO:この考え方を採用している
『Clean Code』コメントの章があった覚え