2010-04-04 40 views
0

我應該驗證我創建的所有函數的輸入參數嗎?輸入不是從用戶傳遞,而是從其他例程作爲自動過程的一部分傳遞。在VB中驗證輸入參數?

我使用錯誤處理。我不確定更多驗證輸入可以爲我做什麼。如果輸入無效,這與錯誤幾乎一樣,不是嗎?

回答

1

很大程度上取決於您的功能是如何公開以及應用程序/數據存儲如何破壞性錯誤輸入。

如果調用函數的代碼和函數本身之間存在緊密耦合,我認爲驗證過度,並且只會增加您的解決方案的複雜性。然而,如果你的代碼是一個庫的一部分,而不僅僅是你/你的代碼所使用的庫的一部分,就會根據需要添加儘可能多的驗證。你不希望它成爲你的代碼失敗/允許發生錯誤,因爲你沒有驗證輸入。

想想你已經使用過的庫/函數。如果你向他們挑剔不良的價值觀,他們如何迴應?他們是否以特定錯誤(例如「Elephant」不是水果)或內部錯誤(這是您錯誤輸入的副產品(例如,「對象參考未設置爲對象實例」))作出響應?

+0

謝謝。原諒我這種愚蠢,但「緊密耦合」是什麼意思?我看到很多。 – EdOxH 2010-04-04 23:22:55

+0

在這種情況下,我的意思是這兩個函數非常緊密地結合在一起以實現相同的共同目標,並且改變一個函數會對另一個函數產生負面影響。看看http://en.wikipedia.org/wiki/Coupling_(computer_science) – CResults 2010-04-04 23:34:08