EJPスタッフブログ

ソフトウェアやボードゲームの開発を行うEJP株式会社のスタッフブログです。

ソースコードにコメントを書こうと思うんだけどロジックと重複してしまう

最近はトリッキーなことはしないで、一目瞭然のプログラムを書くようにしています。 だいたいの場合、コンパイラがうまいことやってくれると信じているので、単なる自己満足の為に可読性を落とすよりもシンプルさを重視しています。

すると、だんだんコメントを書くことの意味を感じなくなってきます。ロジックを見ればわかるのですから、いちいち日本語でソースコメントを書くと重複した情報となり、メンテナンスもめんどくさいのです。

よっぽど、やむを得ない「おまじない」や「謎の処理」を書かざるを得ないときにはコメントを添えます。

これは、以前からの私のやり方なのですが、未だにコメントの記載を求めらることがあります。

大量のコメントはバグ発生時に放置されがちです。実ロジックは早急に直す必要がありますが、コメントの修正は必須ではなく、大量なコメントがある場合は後回しにしてしまおう、となる為です。

理想論はコードとロジックが常に同期されていることであり、それであれば確かに文章として記載されていた方がロジックをすぐに理解できます。しかし、現実はそうはいかないです。

コメントがメンテナンスされていない為、プロジェクト完了間際に見直すと、コメントとロジックが全く逆の意味になっているなんてことも多々ありました。

この様なことはある程度、ソフトウェア開発を経験されている方からしたらわかることだと思うのですが、なぜコメントは重要視されるのでしょうか。

こんなことを考えている為か、コメントがうまく書けません...

例えば以下のような感じです。

[java] / * Hoge機能を提供するサービスです。 */ public class HogeService { / * Hogeを取得します。 * @return Hoge */ public getHoge() { // blah blah } } [/java]

上記のコメントは何の意味もないですよね...言われなくてもわかるわ!という感じです。 しかし、これだけでも書いてあった方が良いと考える方もいるようです。 大きなプロジェクトであれば、コードを何千、何万と書くことになると思いますし、このような不要な記載は効率化の為にもなくてもいいのかなぁなんて思います。

新人の時代は1ステップ1コメントなんていわれたこともありました。しかし、今ではなるべくコメントの必要がないロジックを書くことが目標だと感じました。