概要
意外とそんなにパターン無いのではと思い、整理と今後の備忘がてら記載してみました。実際にメンバーにしたレビュー内容をもとにしています。今回はこれ。
※写真は全く関係ない
ちなみに前回はこちら
前提
以下の内容を踏まえてもらえるとひょっとしたら何かの参考になる度合いが
- PHPです
- 1年目にしたレビューが元になっています
レビュー内容
- ifの条件文が複雑なので分解して早期return
- ifの条件文とtrue/falseの意味を入れ替えて条件を分解
ifの条件文が複雑なので早期return
before
function sample()
{
if ($hogeFlg !== true || !($hugaInfo === 'xxx' || $piyoInfo === 'yyy' || $pikoInfo === 'zzz')) {
return false;
}
return true;
}
新米修正後
function sample()
{
// hoge条件※何故か一つだけ早期return
if ($hogeFlg !== true) {
return false;
}
// 他条件
if (!($hugaInfo === 'xxx' || $piyoInfo === 'yyy' || $pikoInfo === 'zzz')) {
return false;
}
return true;
}
ifの条件文とtrue/falseの意味を入れ替えて条件を分解
function sample()
{
// hoge条件
if ($hogeFlg === true) {
return true;
}
if ($hugaInfo === 'xxx') {
return true;
}
if ($piyoInfo === 'yyy') {
return true;
}
if ($pikoInfo === 'zzz') {
return true;
}
return false;
}
終わり
1回の指摘で必ずしもすべての工夫を理解するのは、それはそれなりに経験が必要ということです。