wulin.com(www.vevb.com)記事の紹介:科学的研究がこれを証明するのを見たことがありませんが、ソフトウェア分野では、それは教義や一般的な信念のようなものです。その存在のため、ソフトウェアを簡単に作成し、読みやすいタイプのコードに注意を払うことが重要です。これらの要件は、いくつかのテクニックを通じて達成できますが、その1つはコードコメントを書くことです。
免責事項:コードのコメントを避けることについて私が言ったことは、コメントを書かないという意味ではありません。つまり、コードコメントをできるだけ書くことを避けていますが、それが価値があると感じたときはまだ書きます。
ソフトウェアを書くよりもソフトウェアを読むのに時間がかかりますが、科学的研究がこれを証明するのを見たことはありませんが、ソフトウェアの分野では、教義や一般的な信念のようなものです。その存在のため、ソフトウェアを簡単に作成し、読みやすいタイプのコードに注意を払うことが重要です。これらの要件は、いくつかのテクニックを通じて達成できますが、その1つはコードコメントを書くことです。
コードコメントについて話すとき、常に無限の議論があります。コードの役割を説明するためにコメントを使用する必要がありますか?読書を支援するためにコメントを必要とせずに、コードの表現力に焦点を当てる必要がありますか? Joe Kunkは議論についてブログを書きました - コメントを書くべきではありません。十分に文書化されたコードは良いコードと見なされていると言う人もいますが、一部の人々は、コメントが悪いコードを説明/非表示にするためによく使用されるため、避けるべきだと言う人もいます。
私の意見では、本の影響の下で、コードがきれいでリファクタリングしやすいことを保証するために、コメント(数学的アルゴリズムなど)を書く正当な理由がない限り、または会社の要件やプロセスのためにコメントを書くことを避けるべきです。メモに関する5つの懸念があります。
コードコメントが動作すると思います1。コメントはしばしば悪いコードを奨励しますコメントされたコードは良いコードです。そのようなことわざがあるので、人々はしばしばコードにコメントを追加してコードを美しくします。コードを解釈するためにコメントを追加すると、それは信号のようなものです。たぶん悪いコードを書いています。コメントを書きたいときは、コードをクリーンアップすることで読みやすくすることができるかどうか疑問に思うべきです。
2。執筆と維持にもっと時間を費やしますコメントは通常、コードの2番目のバージョンです。関数のコメントを書くとき、私たちは実際に自分自身を繰り返しています。乾燥した(繰り返さないでください)原則に違反しました。私たちはより多くの時間を費やし、複雑さを加えています。要件が変更された場合、コードも変更する必要があり、コメントを書く場合は、それらを変更する必要があります。したがって、あなたが費やす時間の2倍の間、変更を加えてください。この時間を使用して、コードを改善したり、新機能を開発したりできます。
3。コメントはテスト可能で検証されていませんコードを変更すると、コンパイラ、IDES、ユニットテストツールを使用して支援します。コメントも同様のツールもありません。ツールやユニットテストに頼って、それらが正しく使用されていることを確認することはできません。アノテーションの日付などを確認します。コメントを書いたら、それはテスト不可能で、その正確性に注意を払うことができないため、問題が発生した後に保存されます。
4。コメントはコードと比較して信頼できません通常、コメントとコードがそれから抜け出すと、それほど意味がなくなります。プログラマーがそれを読むと、誤解される可能性があります。誤解を招くことなくても、ソースコードを読んで自分が何をしているのかを把握する必要があります。実用的な例として、上司が修正を行う必要がある場合、コメントやコードを調べる必要がありますか?もちろん、コードを見ます。
5。コメント多くの画面スペースを取り上げますいくつかのコメント方法(以下のものと同様)は、多くの行を取り上げます。これは、より多くのコードを見たいときに問題になります。
/**
*
* @paramタイトルCDのタイトル
* @param著者CDの著者
* @paramはCDのトラックの数を追跡します
* @param durationmintinminte数分でCDの持続時間
*/
public void addcd(文字列タイトル、文字列著者、
intトラック、int durationminutes){
CD cd = new Cd();
cd.title = title;
cd.author =著者;
CD.Tracks = Tracks;
cd.duration = duration;
cdlist.add(cd);
}