非常简单的问题,但我想开始使用一致的命名约定来验证方法,我想不出最好的方法!
人们倾向于使用IsDataValid()风格吗?还是有其他更具描述性和意义的人吗?
干杯
答案 0 :(得分:3)
这取决于您的验证方法的作用。
如果它返回一个布尔值,那么可能以Is
开头并以Valid
结尾是一个很好的起点。使用is
进行布尔调用通常会导致if
语句中的可读代码。
如果您的验证方法抛出异常,那么我通常会使用类似Check
的方法启动方法名称。
但是,值得考虑(因为方法通常应该使用动词)是使用Validate
开始方法名称。 Is
样式通常更适用于属性。
答案 1 :(得分:3)
与任何涉及命名约定的内容一样,没有正确的答案,但是验证方法存在许多常见问题,这些问题适合某种方法,即:
我发现有用的一种方法是为每个我要验证的模型对象设置一个单独的验证器类,它实现一个通用的IValidator
接口,通常使用以下方法:
这允许在您的业务逻辑中非常自然地使用:
BusinessObject obj = new BusinessObject();
// populate fields
BusinessObjectValidator objValidator = obj.GetValidator();
if (objValidator.IsValid) {
obj.Save();
} else {
foreach (var errorMessage in objValidator.ErrorMessages) {
// output message
}
}
答案 2 :(得分:1)
人们倾向于使用IsDataValid()风格吗?
当方法返回单个布尔值时,我通常使用'Is'MethodName样式。在命名方面完全可以接受。很多时候数据验证是在属性集中而不是方法中完成的,因此在这种情况下,您不需要更改属性名称以指示它验证其上的数据集。
这是一个链接,它提供了一些您可能会感兴趣的通用命名指南:
命名指南 http://msdn.microsoft.com/en-us/library/xzf533w0(v=vs.71).aspx