我正在编写具有注册表格的应用程序。 This的文章使我怀疑我对人名的一切了解。我的问题是:一个人的名字是否必定有正数长度?还是我可以通过这种方式验证姓名并确信我没有否认任何人的身份?
P.S .:有人可能会问我为什么要进行验证。答案是,这是针对学校项目的,正确的验证是商标的一部分。上面的文章证明了这个人的名字几乎可以是任何长度为正的字符串,但是我不知道零长度是否可以。
答案 0 :(得分:1)
使用所有类型的编程,您都必须在现实世界中有意义的东西与对软件解决方案有意义的东西之间进行区分。
如何使用数据将验证需要哪种类型的验证。
例如,如果您的软件与政府API交互,并且政府API需要名字和姓氏,那么您应该这样做。
如果要与银行帐户进行交互,则可能只有一个字符串来表示该帐户名称,该名称可能很多,也可能不是一个真名,但可能存在其他长度限制。
如果该名称仅用于显示目的,那么也许根本没有必要捕获该名称,而是应该捕获一个首选的显示名称(不必假设一定数量的名称组成)
在编写软件时,您应该以尽可能少的假设为目标,除非这些假设会导致软件解决方案的复杂性增加。如果该软件要求人们使用非空名称,那么您应该在边界处验证这是真的。
此外,如果您是我的学生,那么您可能已经因为混合null和空字符串而丢失了标记。在这种情况下,null表示您缺少有关名称的数据,空字符串表示用户已指定其名称为空。
此外,如果您决定不验证某些内容,则至少应留下评论以表明您对此有所考虑。如果您做不寻常的事情,将来的开发人员可能会来解决这个“错误”。此外,这有助于您避免丢失标记。