私は進化するビジネスロジックでいっぱいであり、一日おきに変更する必要がある多くのコードを処理します。修正について私が確かに役立つ2つのヒントは、すべてのelse文を避け、できるだけ早く戻る/終了することです。絶対深いネスティングに入ることはありません - >サブルーチン/関数を作成します。文はあなたのコードはるかに簡単には下(condtionの近接性とコードブロック)にトップを読み取るために行う場合
否定して他のすべての文の交換:
# business logic block
if ($condition) {
# do something
# code code code
} else {
# code code code
return;
}
# refactored:
if (! $contition) {
# code code code
return;
}
if ($condition) {
# code code code
}
第二に、できるだけ早く復帰/終了。私の意見はもちろんですが、サブルーチンの結果を決めると、特に上から下にコードを読んでみたいと思っているときに、余分な条件/テストを実行するという点はありません。すべてのあいまい性を取り除くことで、作業が簡単になります。
結論として、私は特にBLの長いリストではelseを使わないでください。あなたが結果を知るとすぐに帰ります。入れ子レベルが2より大きい場合は、サブルーチン/関数を作成します。
+1ファイルサイズを数KB減らすことができるので、これは非常に重要です! – Xeoncross
+1 continue、break、throwにも適用されます。サイクリックの複雑さを低く保ち、コードを読みやすくすることができます。 – NikiC
また私は個人的に 'return userIsLoggedIn()&& is_array($ param)&& $ param ['count']> 0;'を個人的に使用します。それは短く簡潔です。 – NikiC