本授業で推奨するインデント方法をまとめておきます.
#include ...
void func(...)
{ // 関数のブロック開始 "{" は行の先頭に
... // ブロック開始直後でインデント増加
... // 同じブロック内ではインデントは一定
for (...) { // 関数以外のブロック開始 "{" は行の末尾に
...
...
if (...) { // 同上
...
...
} // ブロック終了 "}" でインデント減少
...
...
}
...
...
}
int main(...)
{
...
...
switch (...) {
case ... : // case ラベルの行ではインデント減少
... // ブロック開始直後ではインデント増加
break;
default :
...
break;
}
...
...
return (0);
ERROR : // goto ラベルの行でもインデント減少
...
return (1);
}
C ソースコードのインデント方法には, 他にもさまざまな流儀があります. 教科書でも別の流儀ですし, 上と同じじゃなきゃダメというものではありませんが...
読みやすいコードを書くため (= 間違いを直しやすくし,楽に完成させるため), 次の原則については厳守すること!!
本授業では,vi エディタでの Tab 文字を推奨. なお,Emacs エディタ の Tab 文字 (自動インデント機能)は標準状態では腐っており, 使用禁止.(ただし,設定ファイル次第で改善可能.)
ただし,case ラベルおよび goto ラベルだけは例外. インデントを意図的にずらして目立たせること.
なお,本授業のレポート評価では, 「インデントが乱れている → 論理構造が整理されていない → 間違いのある可能性が高い」 AND 「この簡単な原則すら守れない → 正しいコードを書くことなんて無理」 という考えから, インデントの乱れは減点対象となります.