整形に関する規約
インデントにタブは使用しない。
インデントは半角スペース4つ。
括弧付け
K&R Styleで書く。BSD Styleで書かない。
NG
$name = array
(
'tobe',
'okamoto',
);
public function _func()
{
return true;
}
OK
$name = array(
'tobe',
'okamoto',
);
public function _func() {
return true;
}
NGのスタイルだとブロック単位で選択しづらい。
関数と繰り返し構文などを区別するため、for(each)やwhileの後ろの()とは半角スペースを空ける。
NG
while(1) {
break;
}
OK
while (1) {
break;
}
逆に関数呼び出しの後ろの()とはつなげて書く。
NG
$name = get_name ($id);
OK
$name = get_name($id);
2項演算子、3項演算子の前後にはスペースを空ける。
単項演算子の場合はスペースをあけずに詰める。
arrayに並べるときは最後の項目の後ろにも「,」をつける。
並べ替えや、新規要素の追記が容易。
NG
$names = array(
'tobe',
'okamoto'
);
OK
$names = array(
'tobe',
'okamoto',
);
1行の長さは半角78文字以内とする。
1つの行に複数の文を書かない。
NG
$foo = tobe;$var = 1;
OK
$foo = tobe;
$var = 1;
行コメントはひとつの段落と考えられる。行コメントの前には空行を入れる。
NG
# 値をセット
$name = 'tobe';
# 画面表示
print $name;
OK
# 値をセット
$name = 'tobe';
# 画面表示
print $name;
整列について
前後の演算子などを揃える。
NG
$name = standardize_name($name);
$age = time - $birth_date;
$status = 'active';
$fruits = array(
'red' => 'apple',
'yellow' => 'banana',
'pink' => 'peach',
);
$fruits[red] = 'apple';
$fruits[yellow] = 'banana';
$fruits[pink] = 'peach';
OK
$name = standardize_name($name);
$age = time - $birth_date;
$status = 'active';
$fruits = array(
'red' => 'apple',
'yellow' => 'banana',
'pink' => 'peach',
);
$fruits[red ] = 'apple';
$fruits[yellow] = 'banana';
$fruits[pink ] = 'peach';
最後に。
これらの規約を自動化できるのが望ましい。
エディタなどで自動化できるように。(Eclipse, Emacs など)


