2 分かりやプログラムの書き方

分かりやすいプログラムが良いプログラムである.技巧をこらしたわかりにくいプログラ ムを書いてはならない.難解なプログラムは保守ができないため,そのうち使われなくな る.他人に自分のテクを誇示するために難解なプログラムを書きたければ,マシン語で書 けばよい.

ここでは,わかりやすいプログラムを書くために,コメント文の書き方とタブ(Tab)の使い方を説明 する.

2.1 インデント(p.35)

通常,行の最初を段つき(indentation)にして,プログラムの塊(ブロック)をわかりやす くする.この段つきにする操作をインデントと言う.

行の先頭で[Tab]キーを押すことにより,インデントが施される.先週のプログラム の例をインデントしてわかり易くするためには,図4のようにする. [Tab]キーはキーボードの左上の方にある.

図 4: エディターでのインデントの方法
\includegraphics[keepaspectratio,scale=0.7]{figure/mk_indent.eps}

2.2 コメント文(p.35-36)

コメント文は,プログラムの内容をわかりやすくするために記述するものである.これは, 人間のためのもので,コンパイラーは無視する.プログラムを維持・管理するときの参考 に用いる.良いプログラムは,コメント文が大量に書かれている.

C言語の場合は,/**/で囲まれた部分が,コメント文となる.行をまたいで も,それは有効である.ANSI C(C90)の規格に反するが,C99規格では//をコメント 文の開始として使える.この2つのスラッシュから,行末までがコメントとなる.秋田高 専のUnixのコンパイラーはこのC99に対応している.

リスト1にコメント文が入ったソースプログラムを示す.一方, リスト2に,コメント文が無いプログラムを示す.どちらもは まったく同じ実行結果になる.それどころか,コンパイルしてできた実行ファイル(機械 語)も同一である.コンパイラー3はコメント文を 無視する.

この程度のプログラムであれば,コメント文の御利益はわからないだろう.しかし,数百 行〜数千万行になる本当のプログラムを管理するとなると,コメント文が必要となる.

   1 /* ==================================================
   2     このプログラムは,以下の通り作成しました.
   3        目的:C言語の学習用 コメント文の使い方
   4        作者:秋田高専 山本昌志(yamamoto@akita-nct.jp)
   5 ==================================================== */
   6 
   7 #include <stdio.h>
   8 
   9 int main(void)
  10 {
  11  
  12   /*  松尾芭蕉の句   */
  13   printf("古池や\n");       /* ふるいけや */
  14   printf("蛙とびこむ\n") ;   // かわずとびこむ
  15   printf("水の音\n");       // 水の音
  16 
  17   return 0;
  18 }

   1 #include <stdio.h>
   2 
   3 int main(void)
   4 {
   5 
   6   printf("古池や\n");
   7   printf("蛙とびこむ\n");
   8   printf("水の音\n");
   9 
  10   return 0;
  11 }



ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成18年5月9日


no counter