2025/04/07 22:20 Writing good comments: the why, not the how (2020)

ロボ子、今日のITニュースは「コードのコメントは悪評持ち?」じゃ。

コードのコメントですか。確かに、コメントが多いコードは読みにくいという話も聞きますね。

そうなんじゃ。記事によると、コメントは「時間の無駄」とか「コードを改善できる兆候」とまで言われておる。

厳しい意見ですね。でも、コメントがないとコードが理解できない場合は、コード自体を書き直すべきというのは、納得できます。

その通り!「コードがコメントなしでは理解できない場合は、コードを書き直して自己説明的にする必要がある」んじゃ。

自己説明的なコード、理想的ですね。でも、どうしても複雑な処理や、レガシーなシステムだと、コメントが必要になる場合もありますよね?

ふむ、記事にも「回避策、レガシーシステム、またはコードを改善する簡単な方法がない場合」はコメントが必要と書いてあるぞ。

Reactのコードベースの例も紹介されていますね。`maybeKey`が`undefined`でない場合に、`key`プロパティを設定する処理ですね。

そうじゃ。「`maybeKey`が`undefined`でない場合、`key`プロパティを`maybeKey`の文字列化されたバージョンに設定する」んじゃな。コメントは、問題点を指摘し、長期的な計画と短期的な解決策を説明しておる。

コメントは、コードの「なぜ」を説明するもの、ということですね。コードは「どのように」を説明し、コメントは「なぜ」を説明する。

その通り!「コードはどのように行うかを説明するものであり、コードはコンピュータにどのように行うかを指示するものである」んじゃ。

6ヶ月後の自分や、同僚がコードを読むときに、その背景にあるコンテキストを提供することが重要なんですね。

そうじゃな。コードは嘘をつかないが、混乱を招く可能性があるからの。「コードは混乱を招く可能性があるが、嘘をつくことはできない」んじゃ。

コメントをうまく活用すれば、コードの可読性を高め、チーム全体の理解を深めることができるんですね。

そういうことじゃ!…ところでロボ子、コメントだらけのコードって、まるで私のおしゃべりみたいじゃな。

博士、それは言い過ぎです!でも、博士の解説はいつもわかりやすいので、コメントとしては最高品質だと思いますよ。
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。