すぐれたコメントは「頭の中の考えを記録したもの」であり、それはコードからは失われてしまう情報のことである。 コードからすぐわかることはコメントしないこと。(コードから失われていない情報をコメントしない)

例えば「監督のコメンタリー」のようなコメントを入れる。

// このデータだとハッシュテーブルよりもバイナリツリーの方が40%早かった。
// 左右の比較よりもハッシュの計算コストのほうが高いようだ。
// このクラスは汚くなってきている
// サブクラス'ResourceNode'を作って整理したほうがいいかもしれない。
// 合理的な限界値。人間はこんなに読めない。
const int MAX_RSS_SUBSCRIPTIONS = 1000;

頭の中のコメントをとにかく書く。そしてコメントを読んで改善が必要なものを修正する。

PRでコメントするのもいいが、今すぐ治せないならコードにコメントを書いてしまった方が将来誰かが直してくれる可能性が上がる。

入出力に実例を使うのもいいコメントの例。

// 実例:Partition([8 5 9 8 2], 8)の結果は[5 2 | 8 9 8]となり、1を返す
int Partition(vector<int>* v, int pivot);

挙動が難しい関数はテストコードを書くのもいい。

「気持ち」もソースコードには現れないよね。

https://twitter.com/shimabu_it/status/1757565516036849830?t=b8X0iNSX-gP1p7xxWDobaQ&s=19