1
A
回答
2
這取決於您的驗證方法做什麼。
如果它返回一個布爾值,那麼可能以Is
開始並以Valid
結尾是一個很好的開始。對於布爾調用使用is
通常會導致if
語句中的可讀代碼。
如果您的驗證方法拋出異常,那麼我通常會用Check
之類的東西來啓動方法名稱。
但是,也值得考慮(因爲方法應該通常使用動詞)正在開始方法名稱與Validate
。樣式通常更適用於屬性。
1
人們傾向於使用IsDataValid()風格嗎?
當方法返回一個布爾值時,我通常使用'Is'MethodName樣式。在命名方面完全可以接受。很多時候數據驗證是在屬性集合內完成的,而不是在方法中完成,所以在這種情況下,您不需要更改屬性名稱來指示驗證數據集合。
這裏是一個鏈接,讓一些通用命名指南,你可能會覺得有趣,以及:
命名原則: http://msdn.microsoft.com/en-us/library/xzf533w0(v=vs.71).aspx
3
與涉及命名約定什麼,有沒有這樣的事,作爲一個right答案,但是驗證方法存在很多常見問題,這些問題適用於某種方法,即:
- 如果一切正常,您通常只需要驗證的布爾狀態。
- 如果出現問題,您通常需要了解有關問題的詳細信息。
- 您通常希望對象具有類似的驗證方法。
一種方法,我發現是有用的是有一個單獨的驗證類我想驗證實現公共IValidator
接口,通常有下面幾種方法爲每個模型對象:
- 一構造函數需要驗證的對象
- 一個名爲IsValid()的屬性,驗證對象,返回一個布爾值,但將特定錯誤存儲在私有變量中,因此在需要時不需要重新計算驗證錯誤。
- 一個名爲ErrorMessages的屬性,用於驗證對象(如果尚未驗證),並返回該對象的錯誤列表。
這使得你的業務邏輯中的很自然的用法:
BusinessObject obj = new BusinessObject();
// populate fields
BusinessObjectValidator objValidator = obj.GetValidator();
if (objValidator.IsValid) {
obj.Save();
} else {
foreach (var errorMessage in objValidator.ErrorMessages) {
// output message
}
}
相關問題
- 1. c#命名約定
- 2. C#WinForms命名約定
- 3. C#類命名約定
- 4. C#Newtonsoft.Json JObject命名約定
- 5. 在C#命名約定
- 6. C#項目命名約定
- 7. c中的命名約定#
- 8. 命名約定
- 9. 命名約定
- 10. 頭命名約定
- 11. C#命名約定(標題與名稱)
- 12. C#命名約定名稱空間
- 13. C/C++:數組的命名約定?
- 14. Protobuf命名約定
- 15. TSQL命名約定〜這個命名約定叫什麼名字?
- 16. Linq2sql命名約定
- 17. PHP命名約定?
- 18. serialVersionUID命名約定
- 19. SQL命名約定
- 20. Oracle命名約定
- 21. 表命名約定?
- 22. MvvmCross命名約定
- 23. MySQL命名約定
- 24. Python命名約定
- 25. xmlns命名約定
- 26. Ruby命名約定?
- 27. BEM:命名約定
- 28. .NET命名約定
- 29. FFMPEG命名約定
- 30. 命名約定Rails
你在做這樣的事情:http://conditions.codeplex.com/ – cofiem 2010-08-26 13:19:33