3 回答

TA贡献1818条经验 获得超8个赞
断言是一种相当标准的跨语言方法。断言的好处在于,在大多数环境中,您可以将它们包含在测试中,但在发布版本时关闭它们,基于您发现了它们所防御的错误的理论。出于这个原因,断言当然不是处理用户输入的方式。
Java 直接支持它们 ( assert),就像 .Net 平台 ( Debug.Assert) 一样。JavaScript 不直接支持断言,但它们很容易添加一个实用程序函数,或者您可以为它们编写一个 Babel 插件,将断言编译为发布版本的任何内容。
assert 例子:
void doSomething(int a, String b) {
assert a >= 0 && a < 10;
assert !b.equals("wrong") && /*...your second condition didn't make sense for strings */;
}

TA贡献1797条经验 获得超4个赞
首先回答Java。我们有bean 验证:
您使用声明性方法,通过在您的代码将使用的“数据结构”上使用注释
然后你有一些“在后台”的框架,负责根据声明的期望验证实际数据
这里的基本思想:您绝对不会“手动”验证数据结构。相反,您建立一个可以应用于此类结构的符号,然后您拥有一个通用框架来将声明转换为运行时检查。
JavaScript 也有类似的想法,例如请参见validatejs库。
当然,同样的东西也存在于 C# 中。例如,请参阅此SO 问题。
- 3 回答
- 0 关注
- 211 浏览
添加回答
举报