簡體   English   中英

用戶輸入驗證應在類級別還是UI級別完成?

[英]Should user input verification be done at class level or UI level?

假設您有一個控制台應用程序,具有:

Main.javaClassA.java

您的主類包含用於運行程序的public static void main(String[] args)方法,並且它使用用戶輸入作為參數來調用ClassA方法。

在將參數發送給ClassA方法之前,您是否將用戶輸入驗證放入main方法中?

要么

您是否將用戶輸入驗證放入ClassA方法中,該方法將中繼回一條消息,指示輸入是否成功? 還是拋出異常?

即當給定無效輸入時, Integer.Parse(...)引發NumberFormatException

您可能想在classA中拋出有意義的異常,然后讓您的main方法決定是否/如何處理這些異常。 當您重用A類時,新的調用者可能要做出其他決定。

我建議使用CleanCode一書(Robert C. Martin)的“錯誤處理”一章。 它說例如“定義正常流程”,“使用異常而不是返回碼”,“將業務邏輯和錯誤處理分開”。

在某些情況下,獲得快速反饋很重要...不要等待兩個小時才能完成計算並獲得90%的異常。 在其他情況下,獲取詳細反饋更為重要。 另請參閱數據驗證:快速驗證失敗,早期驗證失敗與完全驗證

檢查是否容易閱讀代碼並理解正常流程。 每個函數只能做一個事情/為一個抽象層次建模。 異常處理是一級ob抽象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM