- - PR -
if文のコメントを、どのようにつけますか?
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-04-30 01:07
私もあまりコメントを書かないようにしています。
「プログラミング作法」とか「リファクタリング」でも指摘されていたと思います。 以前「コメントのバグ」という言葉を聞いて、なるほど!と思いました。 JavaDocなども処理の詳細を書いてしまうと、実装との乖離が発生するので、DbCの考え方で記述しています。 ととと。。。話がずれてますね。 今回のケースだと
と、書くかもしれませんが・・・ そもそも、このif文が、どこの関数に書かれているか?で”コメントの粒度”も変わってくると思います。 参照元のスレでもありましたが、オブジェクト指向言語ならそもそも別クラスにして if文を無くしてしまうっていうのが楽チンですしね。 | ||||||||
|
投稿日時: 2004-04-30 09:46
はにまるです。
コメントを実際に如何付けいるか?と言えば、3パターンですね 1.「正」条件処理しか存在しない場合は、if文の前にコメント // 管理者権限を持っている場合。 if (ユーザは管理者である) { 管理メニュー = true; } 2.分岐条件の場合は、分岐後にコメント if (ユーザは管理者である) { // 管理者権限を持っている 管理メニュー = true; } else { // 管理権限を持っていない 管理メニュー = false; } 3.条件が複雑な場合、はif文の前にコメント ただ、例題の様に条件判断が厄年なら関数化しちゃうな... //厄年を判断 if ((男 and (年齢 = 3 or 年齢 = 24 or 年齢 = 41 or 年齢 = 61)) or (女 and (年齢 = 3 or 年齢 = 18 or 年齢 = 32 or 年齢 = 36 or 年齢 = 61))) { // 厄年の場合、 } else { // 厄年以外の場合、 } てなりますが、ただ最近私が用いている手法は、 コメントの変りにトレース機能を用いている為、処理フローの重要性から記述判断をしています。 そして、テキストエディターで「トレース関数」はコメント表示扱いですね。 if (ユーザは管理者である) { トレース関数("管理者専用メニューにするのだ!"); 管理メニュー = true; } | ||||||||
|
投稿日時: 2004-05-06 09:57
やっぱり、聞いて見るものですねぇ。聞くは一時の恥、知らぬは一生の恥。。。しかし、書いたものはいつまでも残る。。。
コメントと実際のコードの整合性、確かにその通りです。私も『プログラミング作法』を読んでいますし、実体験として痛感しています。コメントを無くす・・・う〜ん、私の場合、先にコメントを書くのが詳細仕様を兼ねているからなぁ・・・ | ||||||||
|
投稿日時: 2004-05-06 13:12
こうして見ると、細かくコメントをつける方ってほとんどいらっしゃらないんですね〜。
一応 ”環境” への配慮も考えてのことだったのですが、個人的に見直してみる必要があるかもしれません。 勉強になりました。 (あ、私の場合、現場のコーディングルールに従うのが基本です。コメント奨励ならガンガン書きますし(含むメンテ)、そうでないのなら書きません) 「プログラミング作法」 、私も読んでみますね♪ (ご紹介 Thanks です☆) …仕様書。そんなモノがある仕事をしなくなって久しいですねぇ(あっはっはー…悲)。 | ||||||||
|
投稿日時: 2004-05-06 18:03
仕様書を書くのは自己防衛の為です。仕様書を書いて、「これでいいですね」と、確認して、見せた/見たという証拠を取ります。そうしておいて、その人の「言うこと」が、「仕様変更」であることを明確にしないと、とんでもないことになります。「なります」というか、とんでもないことを言われたので、証拠を取るようにしました。。。 | ||||||||
|
投稿日時: 2004-05-07 02:14
話がそれてしまうかも知れませんが、ソースコードと同期の
取れている仕様書ってないですねぇー. (自戒の念も込めて) 結局は、ソースコードを見て仕様を確認する羽目になるので、自分で書いた仕様書 でさえ、読まないことが多くなってきました. 散々苦労して書いたのに、今となっては、古文書と化しています. どこかに仕様書とソースコードについてのスレッドないですかね. みなさんはどうなさっているのか(あまりに抽象的かも知れませんが) 知りたくなって来ました. _________________ | ||||||||
|
投稿日時: 2004-05-08 22:23
ソースコードと仕様書の同期がとれないのは普通です。
まず、仕様書だけでちゃんとプログラムか書けるプロジェクトってありますか? 通常は仕様書だけじゃわからないところが出てきて、聞きに行かないといけないの が多かったりしません? そういった部分があるのであれば、仕様書とソースの同期が取れないのは仕方がないです。 そこから考えると正しい仕様書がかけるのはプログラムが完成した後 となるのですが、 仕様書の役割として ・なにを作成するかの明示、証拠 というのがあって、これはプログラムを作る前に決めとかなくちゃいけない。 ここらへんが悩ましいです。 _________________ http://aglabo.com/ @Homepage http://furukawa-select.com/mt/ @Blog | ||||||||
|
投稿日時: 2004-05-09 00:03
そうですね 仕様書はあくまでも仕様書であって設計図とは違いますまから
同期がとれないのは当たり前だと思いますが、仕様書の仕様密度や抽象度にも よると思いますが、 |