「ZendFramework >> 2.命名規則」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
*2.命名規則
****ファイル名
-使用可能な文字は「英数字」「アンダースコア(_)」のみ
-拡張子は必ず「.php」でなければならない
-誰が見ても意味の分かる名前をつける
-英単語のみの構成を推奨
ファイル命名
|良い例|悪い例|理由|
|new_user.php|item_sakusei.php|日本語と英単語が混在している|
|editItem.php|zaiko_koshin.php|ハイフンや日本語を使用している|
|RegistColumn.php|regist1.php|用途が分かりづらい|
-入力→確認→完了など、一連の流れを複数のプログラムで実現する場合は、同一名称+語尾装飾にする
「同一名称+語尾装飾」の例
new_user.php //入力画面
↓
new_user_conf.php //確認画面
↓
new_user_fin.php //完了画面
****改行コード
-行末は「ラインフィード(LF)のみにしなければならない(16真数では「0x0a」)」
-Windowsの「キャリッジリターン(CR)」やMachintoshでの「キャリッジリターン+ラインフィード(CRLF)は利用しない」
****開始と終了
-PHPでの開始タグには短縮形「<?」は使用せず、「<?php」を使用する
-終了タグの後に空白や改行があると、それをブラウザに出力してしまう為、終了タグ「?>」は使用しない(PHPは終了タグがなくても正常に動作する)
終了タグは使用しない
<?php
プログラムを記述
****インデント
-ソースの可視性を高める為、必ずインデントを行う
-インデントは、「半角空白4文字」で行う
-タブを使用しない
-プログラム全体のインデントは行わない
良い例
<?php
$message = 'PHP フレームワークの本命「Zend Framework」';
echo $message;
悪い例
<?php
$message = 'PHP フレームワークの本命「Zend Framework」';
echo $message;
****1行の長さ
-プログラムソースの一行の長さは80文字までを推奨。最大でも120文字とする
--長すぎる場合の対処(書く対処により見にくくなった場合、空白で微調整してください)
-カンマの後で折り返す
-演算子の前で折り返す
-二つ目以降のインデントでは、前の行と同じ位置に左端を揃える
例1:メソッド呼び出しの記述例
//悪い例(半角空白4つだと読みづらい)
someMethod($longExpression1,$longExpression2,$longExpression3,
$longExpression4,$longExpression5,);
//良い例(揃えると見やすくなった)
someMethod($longExpression1,$longExpression2,$longExpression3,
$longExpression4,$longExpression5,);
//良い例
$var = someMethod1($longExpression1, //メソッドの戻り値を変数に代入する場合
someMethod2($longExpression2, //メソッドの引数にメソッドを記述する場合
$longExpression3));
例2:数式の記述
//悪い例(かっこの位置がわかりづらい)
$longName1 = $longName2 * ($longName3 + $longName4
- $longName5) + 4 * $longName5;
//良い例
$longName1 = $longName2 * ($longName3 + $longName4 - $longName5)
+ 4 * $longName6;
例3:インデントが深くなり右に寄ってしまう
$var = someMethod1($longExpression1,
someMethod2($longExpression3,
$longExpression4)));
//良い例 いったん、別変数で持つなどして深いインデントを避ける
$var = someExpression3($longExpression3,$longExpression4);
$var = someExpression2($longExpression2,$var);
$var = someExpression1($longExpression1,$var);
例4:ifの記述
if(($condition1 && $condition4)
|| ($condition3 && $condition4)
|| !($condition5 && $condition6)){ //悪い改行
doSomethingAction(); //この行が判りにくくなる
}
こうしよう
if(($condition1 && $condition2)
|| ($condition3 && $condition4)
|| !($condition5 && $condition6)){
doSomethingAction();
}
//あるいはこうする
if(
($condition1 && $condition2)
|| ($condition3 && $condition4)
|| ($condition5 && $condition6)
){
doSomethingAction();
}
例5:三項演算子の記述
$alpha = ($aLongBooleanExpression) ? $beta : $gamma;
$alpha = ($aLongBooleanExpression) ? $beta
: $gamma;
$alpha = ($aLongBooleanExpression)
? $beta
: $gamma;
*2.命名規則
**ファイル名
-使用可能な文字は「英数字」「アンダースコア(_)」のみ
-拡張子は必ず「.php」でなければならない
-誰が見ても意味の分かる名前をつける
-英単語のみの構成を推奨
ファイル命名
|良い例|悪い例|理由|
|new_user.php|item_sakusei.php|日本語と英単語が混在している|
|editItem.php|zaiko_koshin.php|ハイフンや日本語を使用している|
|RegistColumn.php|regist1.php|用途が分かりづらい|
-入力→確認→完了など、一連の流れを複数のプログラムで実現する場合は、同一名称+語尾装飾にする
「同一名称+語尾装飾」の例
new_user.php //入力画面
↓
new_user_conf.php //確認画面
↓
new_user_fin.php //完了画面
**変数
-使用可能な文字は「英数字」のみ
-「アンダースコア(_)」は使用不可
-数字の使用は最小限にとどめる
-通常は「camelCase」形式で決める(54ページ参照)
-変数名は省略しすぎない(「$i」や「$n」のような省略形は、小さなループ内でのみ使用する)
変数名の例
$userName
$currentPage
-クラス内で「private」あるいは「protected」と宣言されている変数は、変数名の頭にアンダースコア(_)を1文字付けなければなりません。
**関数(メソッド)
-使用可能な文字は「英数字」のみ
-「アンダースコア(_)」は使用不可
-数字の使用は最小限にとどめる
-通常は「camelCase」形式で決める
-関数名は省略しすぎない
-コードを理解しやすくする為、できるだけ詳細な命名をする
関数名の例
createItem();
updateStock();
checkTemplateData();
-オブジェクト指向型のプログラミングでは、オブジェクトにアクセスするためのメソッドは「get」あるいは「set」のいずれかで始めなければなりません。
-デザインパターンを使用する場合は「singleton」や「factory」などのパターン名を含めるようにしましょう
**定数
-使用可能な文字は「英数字」「アンダースコア(_)」のみ
-全て大文字とする
-可読性向上の為、英単語にはアンダースコア(_)を入れる
**クラス
-使用可能な文字は「英数字」のみ
-「アンダースコア(_)」は使用不可
-大文字から開始する
-複数の単語からなる場合は、各単語の1文字めを大文字にする
クラス名の例
DataAccess();
DiplayInfomation();