からだのブログ

五体満足に生まれてきたことに感謝してブログの名前を「からだ」にしました。

からだのブログ header image 2

何を、何で

3月 21st, 2010 · 2 Comments · programming

コードに書かれたコメントを読んでいて、ああバカバカ正直な奴が書いたんだなあって思うこと。

コードの、それこそ一ステップごとに「何を」しているかを日本語で書いてる。言うまでもなく、込み入ったコードであれば大枠で「何を」しているかコメントするのは必須だ。しかし、そんなもん見ればわかるっていうことにまでコメントしてあると話は別だ。

「値を返す」とか。適切に名前付けされたメソッドであれば、異常系の動作ならともかく、正常系で何を返すかなど説明されずともわかるのだ。それを忘れてしまうほどメソッド本体が長いものであれば、そもそもそれは分割を検討すべきだろう。

if(str == null || “”.equals(str)) { … } くらいの条件式にコメントを入れる必要があるんだろうか。「ヌルまたは空文字のときは」とか。これくらいで頭が混乱する人間に、コードを修正する機会を与えていいんだろうか。よくないとしたら、こんなコメントは必要ないのだが。というか、日本語にしても問題の抽象度が変わらないから、結局コードがわからなければ、日本語でも理解できないわけだが。

普通、コメントから読み取りたいのは、「何を」しているかじゃなくて、「何で」そうする必要があるのかだ。先の条件式で言えば、「ユーザからの入力値が不正の場合」とか。

また、「何を」しているか書かないといけない原因の 1 つは、例えばカウントを保持する変数に cunt とかwwwそういう名前を付けたりしちゃってるケース。分別のある名前にすれば、英文を読むようにコードが読めるはず。長いメソッド名もフィールド名も、どうせ開発環境が補完してくれるのだ、気にする必要などない。

Tags: