laravelを使って小さなアプリを完成しましたが、動作しますが、スパゲッティコードがあります。私はあなたの助けを求めたいと思います。私はコードパターンに関するいくつかの理論を持っていますが、私の場合はそれらを実装する方法がわかりません。私のコード(laravel、OOP)をリファクタリングするには
最も奇妙な部分:私は入力データを段階的に分析する必要があり、いくつかのアクションを取る必要があります。たとえば、私は、パラメータ
$array = ['param1','param2','param3', ..., 'paramN']
と入力配列を持っている私はPARAM1からparamNのにそれを分析し、いくつかのアクションを実行する必要があります。コード構造は次のようになります。
if($array['param1'] == 'X') {
some action
} else { return ....}
if($array['param2'] == 'Y') {
some action
} else {
if($array['param3'] == 'Z') {
return ....
} else { return ....}
}
このコードはif
ブロックでいくつかのファサード、検証を使用しますが、if
Sの数がひどいです含まれています。しかしそれはビジネスロジックです。
多分、私のコードをどのように再編成してより明確にすることができるか、私には分かりますか?あなたは非常に良い読み取り可能なコードで上記のコードを、あなたのロジックをリファクタリングするコレクションを使用することができます
すばやくご回答いただきありがとうございます。 trueまたはfalseを返す必要がある場合、このロジックは有効です。しかし、時にはメッセージを表示してユーザーに返す必要があります。いくつかのパラメータの処理は、他のいくつかのパラメータを処理する以前の結果に依存します。私はこのアプローチが私にはふさわしくないと思います。または私は間違っていますか? –
コレクションの理解を深めるためには、アダムのコースを見てもコレクションには向いていて、あらゆる種類の要件に適合します。 https://adamwathan.me/refactoring-to-collections/ –
よろしくお願い致します。 –