プログラム言語の糞コメントの原因は初学学習にあります

 良く、プログラミング言語のコメントで意味がないと突っ込まれる物があります。

i=0; //iにゼロを代入する

みたいな物です。はっきり言って役に立たないコメントです。しかし、これってどこかで見たことが無いでしょうか? それは「初学者のテキスト」です。

プログラミング言語自体を説明する書籍には当たり前ですが、その命令自身の意味が説明されています。

悪の原因は初学者の解説にコメントを使うこと

私はコメントが誤って使われる原因は、初学者の説明にコメントが使われることです。プログラミング以外でも人など動物って「最初に見たもの」が刷り込まれます。幼少期の時に見たものがその人の「常識」となるわけです。

それと同じように、初学者のテキストに書かれているコメントを最初に見てしまうからその書き方が常識になってしまうわけです。

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4.     int sum=0; //足し算する変数をリセットする
  5.     
  6.     for(int i=1;i<=10;i++){ //1から10までループする
  7.         sum+=i; //現在のカウンターを足し算する変数に加算する
  8.     }
  9.     
  10.     printf("%d\n",sum); //結果を表示する
  11. ;    
  12.     return 0;
  13. }

これはよくある初学者向けテキストに書かれているコメントです。ただ、これを業務でやられると「ゴミコメント」になります。

初学者の学習ではコメントを封印する

上記コードからコメントを除去します

  1. #include<stdio.h>
  2. int main(void)
  3. {
  4.     int sum=0;
  5.     
  6.     for(int i=1;i<=10;i++){
  7.         sum+=i;
  8.     }
  9.     
  10.     printf("%d\n",sum);
  11. ;    
  12.     return 0;
  13. }

そして、初学者の説明として言葉で説明します。

このコードは1から10までをループさせて、その値をSUMという変数に代入します。

forは(変数の初期化;とどまる条件;ループ一回が終了した時の処理)

+= という演算子は足し込むという意味です。例えばsum+=5 とすると sumの値に5を加えるという意味です。

そして、printfでその結果を出力します。

この様な形でコードを説明します。非常にコメントとしてインラインで書きたくなりますが、初学者への変な刷り込み防止という意味で止めて下さい。

本当のコメント術を教える

そして最後に、本当のコメント術を教えて下さい。

  1. #include<stdio.h>
  2. //1から10までの数を足して表示する。
  3. int main(void)
  4. {
  5.     int sum=0;
  6.     
  7.     for(int i=1;i<=10;i++){
  8.         sum+=i;
  9.     }
  10.     
  11.     printf("%d\n",sum);
  12. ;    
  13.     return 0;
  14. }

業務ならこの程度のコメントで十分です。やっていることは1から10までの数を足して表示する物です。このプログラムを実行すれば1から10の合計が表示されるわけであり、特にプログラミングテクニックとしての特記事項はありません。

初学者の学習テキストとしてのコメントを封印するのは苦しいかもしれませんが、初学者である期間は短いです。その後は業務としてのコメントを求められるので、初学者の間違ったコメントを封印することは非常に重要であると考えます。

Amazonでコーディング術

右クリックでクリップボード内の画像をファイル保存する設定

 スクリーンショットやプログラムから画像をコピーしてもそのあとにファイルにしたい場合は画像編集ソフトを起動する必要があり面倒です。ここで Custom Context Menu と PowerShell を使った方法を説明します。 Custom Context Menu はあらか...