かつのりの日記2

わんくまでは珍しいJavaを中心とした日記です

目次

Blog 利用状況

書庫

日記カテゴリ

いろいろリンク

コメントって殆ど書かないな・・・

ネタ元:コメントについて考えているうちに思考が思考膿漏(空転)しています

自分の場合ドキュメント用のJavaDocは書きますが、ラインコメントなんて殆ど書きません。ラインコメントを書かない分、

  • Javadocに詳しく書く
  • シンプルに短くコードを書く
  • 変数名やクラス名やメソッド名を分かりやすく書く

というような点に拘っています。Javadocには、

  • 何をするのか
  • 引数はどういうものでなければならないのか
  • 戻り値はどういう値か
  • どういう条件で例外がスローされるか

を明記します。特に重要なのが例外のスローですね。Javadocに例外の条件を予め明記しておけば、catch節にわざわざ「XXXなので例外をスロー」なんてコメントは一切要りません。Javadocはキチンと書けばテストケースの条件にもなりますし、外部ドキュメントとしても残ります。なのでJavadocに注力する分ラインコメントは全く無視なのです。

他に命名をキチンとすることによってコメントを省く事ができます。例えば、AccountManagerというクラスがあってloginというメソッドがあり、引数はuserIdとpasswordの文字列型だとしたら、呼び出すところで「ログインを行う」なんて書く必要はありません。書いている事を見れば一目瞭然なのですから。そういう意味で名前がコメントの変わりとなるのです。

でも稀にラインコメントを書くこともあります。ロジックが複雑で1メソッドに処理が集約される場合ですね。それでも、「XXXデータの最適化を行う」とか「YYYの検索条件を解析する」とか、大きなブロック単位でしか書きません。ラインコメントがなければ理解できないようなコードは、極力書いてはいけないというのがポリシーですね。

ぶっちゃけると、コメントを書かなくなったのはオープンソースのライブラリのコードを読んだり、製品のコードをリバースして仕様を調査したりという事を続けていたので、コメントを読まなくてもコードの意図が読めるようになったからです。オープンソースのコードを読むと、殆どのコメントが英語なんですが、自分は英語に強くないので、コードからコメントの英文の意味を知る方が多いのですね。あとはリバースすれば当然コメントなんてありません。コードしか読むものがないのです。

 

投稿日時 : 2007年10月14日 1:01

Feedback

# re: コメントって殆ど書かないな・・・ 2007/10/14 10:04 Ognac

>コメントを読まなくてもコードの意図が読めるようになったからです
本質的には同意。
ある程度以上の品質のコードを読むときははコメントが逆に足かせになりますね。
コードだけ読むほうがロジックの理解が早いです。
しかし、並以下の品質の場合はコードが変に込み入ったり中途半端なテクニックが入ったりするので「コメント書けよ!」と起こってみたり。
自分のブログにも書いたのですが、言語ソースは言語を理解していない人が見ることがあるので、何をしているか位は要ると思います。
(*)言語を知らない人が読むことって、ないのかなぁ。関わったプロジェクトではたまにありました。この辺は個々人の経験則に基づくんですよね。コメント感も経験如何に左右されることになる野かナァ?

# re: コメントって殆ど書かないな・・・ 2007/10/14 10:09 凪瀬

仕事の場合はメンバーの腕を見てコメント考えますね。
言語への理解の浅い人がいる場合は、誤解しないように注意点は指摘しておくとか。

いかんせん、プログラム言語で書かれていることを自然言語に翻訳したようなコメントは不要なわけですが
プログラム言語を白文で理解できない人には翻訳の手助けになるようなレ点、返り点みたいなものが必要なのかな、と(漢文に例えてみた)。

# Capo http://www.gladesoutpost.org/mount-gambier-realestate.php mai http://www.gladesoutpost.org/appartamento-abruzzo.php lui. 2008/04/23 20:28 Capo http://www.gladesoutpost.org/mount-gambier-re

Capo http://www.gladesoutpost.org/mount-gambier-realestate.php mai http://www.gladesoutpost.org/appartamento-abruzzo.php lui.

# re: 「ASP コメント」と 「HTML コメント」は使い分けよう!! 2012/11/09 10:22 cheap north face jackets

レ点、返り点みたいなものが必要なのかな、と(漢文に例えてみ

タイトル
名前
Url
コメント