Programming 1 Home

ソースの書き方
提出された課題にまともなインデントのものが余りにも少なかったので。
自分以外にも読むことの出来そうなソースの書き方を解説しようかと。
読み易いソースの書き方
ソースコードは意味の分からない呪文ではない。
意味を持った文章の集まりである。
読み難ければ折角のソースコードも台無である。

ソースコードを読み易くするために以下のようなことが考えられる。
 ・ インデントを付ける。
 ・ コメントを入れる。
 ・ 適度に空白を入れる。
 ・ 意味の分かり易い変数名・関数名を心がける。

インデントとコメントは別の機会に解説する。
適度な空白を入れるとソースの読み易さが改善されることがある。
変数名・関数名の意味が分かり易いことも重要である。
極端だが、aa,ab,ba,bb,ca,cb などという変数名は分かり辛いだろう。
インデントを付ける
インデント−字下げのことである。まずは例文をご覧あれ。
注目して貰いたいのは while, if, break の書き始められている位置である。
行の先頭から字下げされているのが分かるだろうか?
#include <stdio.h> #include <string.h> #define BUFSIZE 1024 /* 文字列入力用の配列のサイズ */ int main() { /* 文字列入力用 */ char buf[BUFSIZE]; /* 入力が "exit" と一致するまでループ */ while (NULL != fgets(buf, BUFSIZE, stdin)) { if (0 == strcmp("exit\n", buf)) break; } return 0; /* プログラム終了 */ } 字下げはどこでするかというと・・ごく大まかに言って 「 { 」 と 「 } 」 の間である。
もう少し細かく言うと、関数の中とか、if, else, for, while などの範囲の間である。
つまり、main 関数の範囲はココまでとか while の範囲はココまでとかを視覚的に示している。

例えば、while で繰り返される範囲を知りたければ while と同じ位置から始まる 「 } 」 を探せば良い。
先ほどの例で云えば、 if は一段下がっているので while の中だとパッと見で分かるという訳である。
一般的には4文字の字下げが多いようである。個人的には8文字の字下げが好きだ。

ダメな例を紹介しよう。以下のような書き方は却下である。
#include <stdio.h> #include <string.h> #define BUFSIZE 1024 /* 文字列入力用の配列のサイズ */ int main() { char buf[BUFSIZE]; /* 文字列入力用 */ while (NULL != fgets(buf, BUFSIZE, stdin)) { /* 入力が "exit" と一致するまでループ */ if (0 == strcmp("exit\n", buf)) break; } return 0; /* プログラム終了 */ }

2001/10/15 by Watanabe Takehito