2 に答える
1
私は実際に2つのDAOAPIを思い付くでしょう:
public ... findAllUsers(...) {...}
public ... findAllUsersWithoutACountry(...) {...}
私の正直な意見では、あなたのアプローチの問題は、動的SQLコードのためにAPIが明示的でないことです。同僚があなたのコードを理解するのが難しくなります。次に、これらは2つの異なるタスクですが、類似していますが、2つの明示的な方法を考え出すのが最善です。これにより、単体テストがはるかに簡単になり、メソッドの制御フローが少なくなるため、循環的複雑度が低くなります。さらに、他の開発者は、countryIdを0またはnullに対してテストしている理由を不思議に思う必要がないため、コードを理解しやすくなります。あなたの現在の問題。3週間後、なぜこれらの奇妙な値に対して自分でテストしているのか不思議に思うでしょう。:)
于 2010-06-29T16:44:51.160 に答える
0
WHERE CountryID=0 || CountryID IS NULL
あなたのアプローチは正しいと思いますが、すべてのユーザーに「すべてのユーザー」ラベルを使用させたい場合があります。このようにして、国が設定されていない人をフィルタリングして表示できます。次に、必要に応じてそれらのユーザーを修正できます。しかし、全体的にあなたのソリューションは良いと思います。
于 2010-06-29T13:46:45.473 に答える