Dot-Net

.NET 4.0 中程式碼契約的實際用法是什麼?

  • May 27, 2010

為了充分理解和利用新的 .NET Framework 4.0 提供的新功能和增強功能,我想獲得一個程式碼合同的實際應用範例。

  1. 任何人都有應用此功能的好例子嗎?

我想獲得一個帶有簡要說明的程式碼範例,以幫助我啟動並執行它。

來自程式碼合同使用者手冊

契約允許您在程式碼中表達前置條件、後置條件和對像不變數,以用於執行時檢查、靜態分析和文件。

程式碼合約用於靜態驗證;想像一下,如果在編譯時,您不僅發現了語法錯誤,還發現了邏輯錯誤。這就是靜態程序驗證的願景。

現實世界的例子

您可以使用合同(和靜態驗證)來降低測試成本……尤其是回歸測試。例如,假設我編寫了一些滿足某些業務需求的程式碼……但是後來,性能需求發生了變化,我需要進行優化。如果我首先編寫一個合約,然後 - 當我的新優化程式碼得到驗證時 - 如果它不再滿足原始合約,我將在我的 IDE 中收到一條錯誤消息,就像我遇到編譯時錯誤一樣。因此,您幾乎可以立即發現並解決錯誤,而這花費的成本不到一輪測試。

引用自:https://stackoverflow.com/questions/2923480