インデンテーションについての約束事


プログラミングⅠではインデンテーションに関して次のような約束事を採用する。

  1. 原則として、一行には一つしか文は書かない。 ただし、次の例のように密接に関連している文の場合はこの原則にこだわる必要はない。
  2. ブレースのなかは、外よりも4または8字分を字下げする。 (ただし、首尾一貫していれば、4や8という数字にこだわる必要はない。)
  3. タブ文字を使わずに空白文字で字下げする。
  4. q開きブレースはifswitch, do, while, forなどのキーワードと 同じ行に改行せずに書く。
  5. 閉じブレースはifswitch, do, while, forなどのキーワードのはじめと列をそろえて、 独立した行に書く。
  6. ifforなどでは、選択されたり、 繰り返したりされる文が一つだけの場合も、ブレースに囲む。 教科書の例は必ずしもそうなっていないので、 特に注意する。
  7. 関数本体の開始を表す開きブレースは、関数頭部のあとに続けて改行せずに書くか、 改行して1列目に書く。

例:

4字の字下げを採用した場合

int main(void) {                 /* ← 6, 次の行の1列目でもよい */ 
    int i, j;                    /* ← 1 */  

    for (i=0; i<10; i++) {       /* ← 3 */ 
        for (j=0; j<10; j++) {   /* ← 1 */  
            printf("*");         /* ← 5 */  
        }                        /* ← 4 */ 
        printf("\n");            /* ← 1 */  
    }                            /* ← 4 */

    return 0;                    /* ← 1 */  
}                                /* ← 4 */ 

8字の字下げを採用した場合

int main(void) 
{                                        /* ← 6, 前の行でもよい */ 
        int i, j;                        /* ← 1 */  

        for (i=0; i<10; i++) {           /* ← 3 */ 
                for (j=0; j<10; j++) {   /* ← 1 */  
                        printf("*");     /* ← 5 */  
                }                        /* ← 4 */ 
                printf("\n");            /* ← 1 */  
        }                                /* ← 4 */

        return 0;                        /* ← 1 */  
}                                        /* ← 4 */ 

Koji Kagawa