Comment
Home >> Note >> Comment

コメント論

実際私はほとんどコメントを書かない。書いたら負けとすら思っている。 もしコメントなしではそのcodeが理解できないのだとしたら、 それはcodeに語らせることに失敗しているのだ。

なかなかカッコイイ言葉だな,とおもいました.

同じ言語でずっとコードを書いていると,それぞれの言語の標準ライブラリのインターフェース などから徐々に“分かりやすいコード”が書けるようになってきます.“その言語らしいコード” と呼ぶのかもしれません(“その言語らしい”は賛否両論あるようですが). 一方で,コメントの書き方というものは,なかなかコツが掴めません. 私自身も,未だに“ここにはコメントを書くべきかな”と悩んだりします.

いつまで経ってもコメントの書き方に悩んでしまう原因の一つは,頭のどこかで “コメントは大切なもの”と考えているからなのかもしれません. プログラミングを始めた頃は,まだまだ見やすいコード,読みやすいコードというものが書けず, 一ヶ月も経てば自分で書いたコードでも訳が分からない,という状況もしばしば発生していました. そして,その度に“コメントの重要性”というものを再確認させられてきました. その経験も手伝って,“コメントは書かなければならない”という認識が定着している人も多く存在します.

しかしながら,コメントは“補佐的”なものです. その言語に慣れ,見やすいコードが書けるようになるにつれてコメントの重要性は薄れていきます. まったくコメントを必要としないコードも存在するでしょう. いつまで経ってもコメントの書き方が分からないのは,“コメント自体がそれ程重要なものではない” からなのかな,と最近感じます.

Comment that has puzzled you or tricked you.
あなたが迷ったり勘違いしたところをコメントせよ
ここで注意して欲しいのは、主語が「あなた」になっていることだ。 「読者が迷ったり勘違いしたりしそうな」ではないのだ。そう。 コメントはあくまでも自分、少し広げてもXPのパートナー用にとどめるべきで、 一般読者には取説を用意するべきなのだ。

“コメントは書かなければならない”という考えが頭から離れないもう一つの原因に, (自分は分かるけど)他人が読んで分からなかったらどうしよう,という心配があります. そういった心配に対して,上記の格言は非常に有効ではないかな,と思います. 他人への配慮も大切なことですが,その配慮を全てコメントでカバーしようとするのは, 必ずしも正しい選択肢ではありません.

プロジェクトの大きさやどれだけ専門的なことを扱ってるか,さらには宗教論争なども手伝って, コメントに関しても最適解というのは,なかなか得ることができません. ですが,できるだけコメントを書かない,さらに言うとできるだけコメントを書かなくても分かるコードを書く, という意識は重要ではないかなと思います.

参考URL