さて、これはコメントとコードに関するものなので、実際のコードを見てみましょう。次の典型的なコードを比較してください。
float a, b, c; a=9.81; b=5; c= .5*a*(b^2);
何が行われているかを示すこの自己文書化コードに:
const float gravitationalForce = 9.81;
float timeInSeconds = 5;
float displacement = (1 / 2) * gravitationalForce * (timeInSeconds ^ 2);
そして、この文書化されたコードに、それが行われている理由をよりよく説明しています:
/* compute displacement with Newton's equation x = vₒt + ½at² */
const float gravitationalForce = 9.81;
float timeInSeconds = 5;
float displacement = (1 / 2) * gravitationalForce * (timeInSeconds ^ 2);
そして、コメントが不要なドキュメントとしてのコードの最終バージョン:
float computeDisplacement(float timeInSeconds) {
const float gravitationalForce = 9.81;
float displacement = (1 / 2) * gravitationalForce * (timeInSeconds ^ 2);
return displacement;
}
不適切なコメント スタイルの例を次に示します。
const float a = 9.81; //gravitational force
float b = 5; //time in seconds
float c = (1/2)*a*(b^2) //multiply the time and gravity together to get displacement.
最後の例では、代わりに変数にわかりやすい名前を付ける必要がある場合にコメントが使用され、操作が何であるかが明確にわかる場合に操作の結果が要約されます。自己文書化された 2 番目の例の方がいつでも好きです。おそらく、あなたの友人が自己文書化されたコードと言うとき、それについて話しているのでしょう。
それはあなたがしていることの文脈に依存すると思います。この場合、自己文書化されたコードでおそらく十分ですが、背後で行われていることの背後にある方法論 (この例では方程式) を詳述するコメントも役立ちます。