」を見てちょっと思うところがあったので書いてみる。ここで要るか要らないかと言われてるのは所謂「直訳コメント」という奴で、コードとほぼ一対一になるような奴。猫の身長に入力データを設定する$cat->setHeigth($inputData);なので、(メソッド名などから推測可能なレベルで)処理内容を示すようなコメントを、以下直訳コメントとして扱う。つぶやいた通り、私は基本的に「コメントたくさん書くべき派」です。詳細なコメントなら当然として、直訳コメントについても、↑のレベルなら出来るだけ書くべきだと思ってます。まとめだと「メソッド名とかでわかるからコメント不要」って言っている人が多い気がしたので、糞コードメンテ歴12年の俺から、それ絶対「糞コードや日本人プログラマーの英語力を甘く見てるわ」という話を書かせてもらいます。以下は、最近触ってる実在のプロジェクトのソースを、プライバシーとか守秘義務とかに配慮した感じに簡略化した糞コードです。実物は違うのでFuelPHPでそれはおかしいとかは勘弁(--;)なお、このプロジェクトには「直訳コメントは書くな、メソッド名などをちゃんとしてコメント無しでも分かるコードを書け」というコーディング規約が存在しています。}}はい、まあ分かりやすいシンプルなコードですね。見た感じで、処理内容が「プレゼントを取ってきて、それを画面に表示する」であることは一目瞭然です。これなら、もちろん直訳コメントなんて要りませんね!(個人的には、アクション名とかビュー名とか良くないと感じますが...まあ意味は通じるという観点で。)が、実際にこのメソッドがやっていることは違います。中身を見てみましょう。社内でも古いソースのようで、誰が書いたのかは定かではありませんが(ただしコピペされてたまに増える)、おそらくこのコードを書いたプログラマーは、「ユーザーがプレゼントをGETする処理だからget_presentだ」と思ってこのメソッドを設計したのでしょう...getという単語が他のプログラマーにどう認識されるかを考えないままに...。このコードは、直訳コメント以前にそもそも糞コードであり、モデル内でセッションを見ていたりとツッコミどころはいくらでもあるのですが、少なくとも、直訳コメントがあればアクションを見ただけで異常に気付くことができました。}}(上の例だと、直訳コメント以前にphpdocコメント書けって話になりますが、実際はもっと長いコードの途中に突然これが出てきます。ユーザーに指定されたプレゼントを付与する」レベルで書いて欲しい。)上は特に酷い例を抜き出していますが、ここまで酷くなくても、「英語のつもり」のメソッド名が、何を意味しているのか分からないことは日常茶飯事です。逆に、メソッド名で意図が分かるコードを書いても、こういうのを書くプログラマーに正しく意図が通じるとは到底思えません。読み手書き手ともに、英語ペラペラです、という特異な環境でない限りは、日本人プログラマーはちゃんと日本語のコメントも残しましょう、というお話でした。オブジェクトと付けますね。titleですねぇ、その辺の単語の選び方にもプログラマーの工夫が光るところです。意味が多い単語や、かといってあまりにも一般的でない単語も困りどころ。|SI屋をやめたい30歳くそコードをコメントでなんとかするよりなるべくコメントがいらない良いコードを書くべく打と思います。SI屋をやめたい30歳さん理想はそうなのですが、問題はこの糞コードを書いた人も、本人は「コメントがいらない良いコードを書いたつもり」でいるという事なのですよね...。自身がない場合は、安全策としてコメントも併記した方がよいと思います。(勿論コメントはコメントで、修正ミスとか意味不明とか悩みは多いのですが。|名無し他の人がコードレビューするようになっていれば、「名前が変」なことには気づきやすいと思います。レビュアーも同レベルなので気付かない。プログラマーが毎回命名を指摘されて病む。3パターンどれかになるのですよね...。ツイートTwilogプロフィールAuthor:honeplus日々ぼちぼち生活してるプログラマー。その他この辺でも活動。コメントが書き込めない場合コメント欄にスパム対策を実施しています。アナリティクス」を利用してアクセスの解析を行っています。より匿名のトラフィックデータが収集されます。収集した情報はブログの改善やアクセス解析の勉強、また管理人が一喜一憂するために用いられますのでご了承ください。