字下げスタイル 最初の確認

よくない例 : 一目で全体をつかめるだろうか

動くけれど読みにくいプログラム
#include<stdio.h>
int main(void){
int i;
for(i=0;i<5;i++){printf("%3d ",i);}
return 0;
}

3種類の字下げスタイルを確認

  1. K & R スタイル (カーニハンリッチースタイル)
  2. BSD/オールマンスタイル ( { と } の対応を付けやすいスタイル)
  3. 教科書スタイル (たとえば、「あるごりずむ」)
/* K&R Style */ 
#include <stdio.h> 

int main(void)
{
    int i;

    for (i = 0; i < 5; i++) {
        printf("%3d ", i);
    }

    return 0;
}
  • C言語のバイブルと呼ばれる教科書「プログラミング言語C」内のプログラムスタイル
  • 著者2名の名前から、こう呼ばれる
  • 字下げ (インデント) 4。
  • ブロック開始の { を改行しない。ただし関数は { を改行。
  • その他、空白のある部分/ない部分に注意。
/* Allman Style */
#include <stdio.h>

int main(void)
{
    int i;
    
    for (i = 0 ; i < 5; i++)
    {
        printf("%3d ", i);
    }

    return 0;
}
  • ブロックの { と }を全て改行する。
/* Text Style */
#include <stdio.h>

int main(void) {
    int i;
    
    for (i = 0 ; i < 5; i++) {
        printf("%3d ", i);
    }

    return 0;
}
  • K&Rスタイルのうち、関数定義の最初の { を改行しないで、1行節約する。
  • この授業のプログラムもそうします。(インデントを3にしている場合もあります)
  • 教科書はインデント数、改行、空白を節約します。細かいところに統一がないことも多い。

プログラムを声に出して読んでみよう

[読みの例]

#include <stdio.h> 
「シャープ インクルード 小なり スタンダードアイオー ドット エイチ 大なり」

int main(void)
「イント メイン カッコ ボイド カッコ閉じ」
{
「中かっこ」
    int i;
    「イント i セミコロン」

    for (i = 0 ; i < 5; i++) {
   「フォー カッコ i イコール 0 セミコロン i 小なり 5 セミコロン iプラプラ カッコ閉じ 中かっこ」

        printf("%3d ", i);
      「プリントエフ カッコ ダブルクォート パーセント3d ダブルクォート カッコ閉じ セミコロン」
    }

    return 0;
    「リターン ゼロ」
}
「中カッコ閉じ」