コードに書かれたコメントを読んでいて、ああバカバカ正直な奴が書いたんだなあって思うこと。
コードの、それこそ一ステップごとに「何を」しているかを日本語で書いてる。言うまでもなく、込み入ったコードであれば大枠で「何を」しているかコメントするのは必須だ。しかし、そんなもん見ればわかるっていうことにまでコメントしてあると話は別だ。
「値を返す」とか。適切に名前付けされたメソッドであれば、異常系の動作ならともかく、正常系で何を返すかなど説明されずともわかるのだ。それを忘れてしまうほどメソッド本体が長いものであれば、そもそもそれは分割を検討すべきだろう。
if(str == null || “”.equals(str)) { … } くらいの条件式にコメントを入れる必要があるんだろうか。「ヌルまたは空文字のときは」とか。これくらいで頭が混乱する人間に、コードを修正する機会を与えていいんだろうか。よくないとしたら、こんなコメントは必要ないのだが。というか、日本語にしても問題の抽象度が変わらないから、結局コードがわからなければ、日本語でも理解できないわけだが。
普通、コメントから読み取りたいのは、「何を」しているかじゃなくて、「何で」そうする必要があるのかだ。先の条件式で言えば、「ユーザからの入力値が不正の場合」とか。
また、「何を」しているか書かないといけない原因の 1 つは、例えばカウントを保持する変数に cunt とかwwwそういう名前を付けたりしちゃってるケース。分別のある名前にすれば、英文を読むようにコードが読めるはず。長いメソッド名もフィールド名も、どうせ開発環境が補完してくれるのだ、気にする必要などない。
cuntわらたww
コメントもそうだけど、所謂内部設計書とか詳細設計書と呼ばれる物も同じだな。
「このルーチンで果たすべき目的」と「それをどのような手法で実装するか」が明記されていれば事足りるのに、延々とプログラム処理を日本語で書いていたり。
んで、肝心の「果たすべき目的」についてはよくわからない場合が多い。
ほんとに cunt っていうのがあるんですよ、実際w
まあそれはともかく。いいドキュメントを書くのはコード書くよりも大変ですね。