コーディング規則を決める
私の書いたいくつかのソースコードを見てみると、コーディング規則があまり統一されておらず、結構適当に書いてることがおおい。ここらで書き方をきちんと決めておく。
インデント
まずインデント幅は半角4つサイズにする。あと、tabはエディタの方で自動的に半角に変換。また、インデントはブロックごとに行う。
{
//この位置
}
文
次に、forとかswitchといった文。括弧「()」の後ろ側に半角スペースを入れる。
while(…) { …… } for(…) { …… } else { …… } if(…) { }
ちなみに、ブロック無しのifやwhileの場合、2行にするとややこしくなるので、一行で書く。
if(…) a++; while(…) b++;
switchは少し特殊。caseをインデント。caseの値とコロン「:」との間には空白を入れる。
switch(…) { case 0 : …… break; }
関数定義もこの形。引数については後で。
int foo(…) {
}
括弧
式を括弧「()」で囲む場合、括弧「()」のすぐ内側には空白を設けない。
int a = 5 + (7 * 11);
ifなんかの条件式も同じ。
if(a == 3) { …… } while(!flag) { …… }
また、中括弧「{}」を一行で書く場合は、前後に空白を設ける。以下はJavaScriptのコード。ただし、後ろはセミコロン「;」があるので空白をあけない。
var obj = { x : 3, y : 5 };
こっちは、Javaの配列の初期化
int array[] = { 3, 5, 7 };
if文にも使う
if(…) { …… } else { …… }
添え字を表す角括弧「[]」の前後には空白を設けない。
array[3];
ただし、JavaScriptの配列の初期化のように、複数の値が入る場合は内側に空白を設ける。
var array = [ 3, 5, 7 ];
コンマ、コロン、セミコロン
コンマ「,」
後ろに空白を入れる。前には空白を入れない。
int foo(int a, int b) { …… } foo(3, 2); int a = 3, b = 5;
コロン「:」
前後に空白を入れる。
loop : for(…) { …… }
コメント
コメントは言語によって結構違うけど、基本はJava的な書き方。まず、ドキュメントに反映されるコメント。これはソースコードの一番最初、クラスの前、関数やメソッドの前に入れる。
/** * ここにコメントを書く */
こっちはドキュメントに反映しない普通の長文コメント。
/* * ここにコメントを書く */
一行コメントについては特に規則を設けない。
最後に
今回はコーディング規則について考えてみた。今度は変数名の規則でも考えてみよう。