當你寫一個方法時,比如在你的一個DAO對象中,並且你不希望這個方法接受某些輸入,爲了討論的緣故,說它不允許null參數。你如何去實現這一點,考慮到這種方法將來可能會被新的團隊成員重用。在Java中處理未接受方法參數的最佳方法是什麼?
我做到這一點的方法是:
- 在接口方面,我是一個變量,b和c不能爲空的方法的javadoc裏面的文件。
- 在方法內部,我檢查空值的第一件事情,如果任何a,b或c都爲null,那麼我拋出一個IllegalArgumentException。
但是,如果某些未來的開發人員只是讀取方法簽名並決定他/她需要什麼並開始使用它,而沒有關注這些細節,並且更糟糕的測試不會揭示它。 NULL指針異常不會發生,並且我們正在收到一條有用的錯誤消息,但是我們仍然在生產中遇到了可能已被避免的錯誤。
有沒有辦法在編譯時強制執行?我對此表示懷疑,但如何做到這一點最安全和最不利於開發者的方式呢?
非常酷,我會說,有沒有回答這個問題。但是,您的答案應該不僅僅包含一個鏈接。在Stackoverflow上,我們努力提供將持續多年的內容。如果你的鏈接被破壞了,那麼解釋也是如此。你能編輯你的答案來解釋這是什麼嗎? – jmort253 2012-03-03 10:29:01
根據@ jmort253的要求添加示例 – ebaxt 2012-03-03 10:50:23
+1 - 非常有幫助! – jmort253 2012-03-03 10:56:04