The Daily WTF 日本語 フォロー CodeSOD: アップサートしてみな あるプログラマーが、.NET Framework から .NET Core への移行プロジェクトからのコードスニペットを共有しました。そのコードは、Customer オブジェクトを処理するアクションメソッドを持つ CustomerController を特徴としています。 メソッド内では、条件文が customer.someProperty をチェックし、どのオーバーロードされた UpsertSomething メソッドを呼び出すかを決定しています。 UpsertSomething メソッドは、非常に長いパラメータリストで呼び出され、その多くが null またはデフォルトのブール値です。 著者は、UpsertSomething への2つの呼び出しがほとんど同じであり、1つのブールパラメータだけが異なることを指摘しています。 これは、if/else 文が不要であったことを示唆しています。 代わりに、customer.someProperty の値を単一の UpsertSomething 呼び出しへの引数として直接渡すことができたはずです。 著者は、これを理想的とは言えないコーディングプラクティスの好例として強調しています。 提供されたスニペットは、移行中に遭遇したより広範なコードベースを代表しています。 この投稿は、よりシンプルな設計選択によって、コードの複雑さを避けることができる場合がある例として役立っています。 CodeSOD: Upsert Yours thedailywtf.com The Daily WTF 日本語 RSS thenote.app
Customerオブジェクトを処理するアクションメソッドを持つCustomerControllerを特徴としています。 メソッド内では、条件文がcustomer.somePropertyをチェックし、どのオーバーロードされたUpsertSomethingメソッドを呼び出すかを決定しています。UpsertSomethingメソッドは、非常に長いパラメータリストで呼び出され、その多くが null またはデフォルトのブール値です。 著者は、UpsertSomethingへの2つの呼び出しがほとんど同じであり、1つのブールパラメータだけが異なることを指摘しています。 これは、if/else文が不要であったことを示唆しています。 代わりに、customer.somePropertyの値を単一のUpsertSomething呼び出しへの引数として直接渡すことができたはずです。 著者は、これを理想的とは言えないコーディングプラクティスの好例として強調しています。 提供されたスニペットは、移行中に遭遇したより広範なコードベースを代表しています。 この投稿は、よりシンプルな設計選択によって、コードの複雑さを避けることができる場合がある例として役立っています。