2012-02-12 22 views
0

私は、22個のフィールドと5個のジョインテーブルを持つ1つのメインテーブルを持っています。入力データをDBでチェックする必要があり、挿入前にIDから値に変換する必要があります。モデル検証アプローチ - MVC(CodeIgniter)

現在、私は検証/ dbチェック/変換を一度に行うコードの950行のチャンクを持っています。私が見ている問題は、コードが非常に柔軟ではなく、テストするのが難しいということです。同様のフィールドを使用しているかどうかに応じて、他のすべての挿入/更新アクションに対してもコピー・ペースト/リライトする必要があります。

私に示唆できるアプローチがありますか?各フィールドをそれぞれの機能に分ける(その後、各フィールドを区切り、検証と変換を行う必要があります)

答えて

0

これをさらに多くのメソッドに分割することをお勧めします。各メソッドは1つのことと1つのことのみを行う必要があります。これにより、テストが容易になり、柔軟性が向上します。メソッドが10〜20行以上ある場合、メソッドが多すぎる可能性があります。

クラス内にそれぞれが1つのメソッドのコレクションを取得したら、実際に呼び出すメソッドを作成して、それらの小さなメソッドを呼び出すことができます。

このようにすると、コントローラは同じメソッド呼び出しを行いますが、検証コードはより再利用可能でテスト可能になります。