コードで意図を表現できない場合にのみコメントを書く
ここで言うコードとは
型
関数や変数など
テスト
コメントを書くのがダメ、というわけではない
どうしても無理な場合のみ、コメントを記述する
変数や関数の命名
型による処理順序の強制
テストによる利用法の提示
etc.
コメントの希少価値を高める
「コメントがあるということは」で注意を惹くぐらいの価値あるものにすべき
「読んでも読まくても問題ない」ようなコメントが跋扈するとすぐに実装とズレる
実装とズレたコメントは無意味
むしろマイナスに働く
どうしても意図を明示できないな、となったらどんどんコメントを書くべき
コメントがないせいで伝わらないなら元も子もない
動的型付言語の場合はコメントが増える
型がないので、コードで意図を伝える能力が乏しい
コメントはコードの抽象であるとも言える
実装の要約