コメントは対象コードから遠ざかるほど抽象的にすること
これにより、コードの変更によってコメントが意味を持たなくなる可能性が低くなる
e.g. メソッドの実装コメント
メソッド全体のコメントをメソッドの先頭にまとめず、それぞれのコメントのスコープを狭くする
e.g. メソッドに主要な3つのフェーズがあるケース
すべてのフェーズの詳細を説明するコメントをメソッドの先頭に書くのではなく、各フェーズごとに別々のコメントを書き、そのコメントをそのフェーズの最初の行の直前に配置する
一方で、メソッドの実装全体を説明するコメントがメソッドの先頭にあると役立つケースもある
code:java
// We proceed in three phrases:
// Phase 1: Find feasible condidates
// Phase 2: Assign each candidate a score
// Phase 3: Choose the best, and remove it
追加の詳細情報は、各フェーズのコードの直前に記述する