###前提
CakePHP2.xで、ボタンを押したときに呼び出される関数内でのことです。
チーム内でコードの書き方を統一していく指標を探っています。
###疑問の内容
if文を使用して実行内容を分岐するとき、次の2パターンのうちどちらが適切なのでしょうか?
「実行速度」「可読性」といった点からお答えいただけると助かります。
//両パターン共通の定数, 変数 define('DEFINE_ONE', 1); define('DEFINE_TWO', 2); define('DEFINE_THREE', 3); define('DEFINE_FOUR', 4); $str['Model']['key'] = 'test_string'; //パターン1 if(in_array($str['Model']['key']), array(DEFINE_ONE, DEFINE_TWO, DEFINE_THREE, DEFINE_FOUR)){ //処理内容略 } //パターン2 if($str['Model']['key'] == DEFINE_ONE || $str['Model']['key'] == DEFINE_TWO || $str['Model']['key'] == DEFINE_THREE || $str['Model']['key'] == DEFINE_FOUR){ //処理内容略 }
###補足
定数名は大体上記のような文字数です。in_arrayの第一引数はCakePHPを使用しているので、上記のように配列の形になります。
新しく入ってきたメンバーに、if文の中身が長くなるので、パターン2ではなく1の書き方でコーディングしてもいいかと聞かれたのですが、私は「in_arrayの速度や挙動に不安がある」「コードの長さがそんなに変わらない」「パターン2の方が見やすい」ことからパターン2でよいのではないかと考えています。
より適切なコーディングのために回答していただけると助かります。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/21 02:57