问问题
824 次
2 回答
1
我实际上会想出两个 DAO API:
public ... findAllUsers(...) {...}
public ... findAllUsersWithoutACountry(...) {...}
老实说,您的方法的问题在于,由于动态 SQL 代码,您的 API 不明确。它使您的同事更难理解您的代码。其次,这是两个不同的任务,虽然它们相似,但最好想出两个显式方法。这更容易进行单元测试,并且圈复杂度更低,因为方法中的控制流更少。此外,代码更容易理解,因为其他开发人员不需要想知道为什么您要针对 0 或 null 测试 countryId ,这并没有向他们传达大量有意义的信息,除了它只是一个快速解决问题你目前的问题。3 周后,你会想知道为什么你要自己测试这些奇怪的值。:)
于 2010-06-29T16:44:51.160 回答
0
我认为您的方法是正确的,但您可能想让任何用户WHERE CountryID=0 || CountryID IS NULL
使用“所有用户”标签,这样您就可以过滤以查看没有设置国家/地区的任何人。然后,您可以根据需要/需要修复这些用户。但我认为总的来说你的解决方案很好。
于 2010-06-29T13:46:45.473 回答