考虑以下两种数据验证方案:
无处不验
确保每个接受一个或多个参数的方法都对其进行检查,以确保它们在语法上是有效的。
优点
优点和缺点与前一方法相比基本相反。
目前我正在使用第一种方法,但由于我正在采用测试驱动开发,所以我想也许我可以使用第二种方法。
优点很明显,但我想知道它是否像第一种方法那样安全。
- 非常细致的检查粒度。
- 如果编写的代码是某种库的一部分,我们可以确保限制在使用它的开发人员未能提供有效数据时可能造成的损害。
- 总是执行大多数情况下不需要的检查成本高。
- 仍有可能偶尔忘记添加检查。
- 编写更多代码,因此需要维护。
优点和缺点与前一方法相比基本相反。
目前我正在使用第一种方法,但由于我正在采用测试驱动开发,所以我想也许我可以使用第二种方法。
优点很明显,但我想知道它是否像第一种方法那样安全。