代码契约

.NET 通过 System.Diagnostics 命名空间中的 Contracts 类支持契约式设计,并在 .NET 4.0 中引入。Code Contracts API 包括用于代码的静态和运行时检查的类,并允许你在方法中定义前置条件,后置条件和不变量。前提条件指定在方法可以执行之前参数必须满足的条件,在方法完成时验证的后置条件,以及不变量定义在方法执行期间不改变的条件。

为什么需要代码契约?

在应用程序运行时跟踪应用程序的问题是所有开发人员和管理员最关心的问题之一。跟踪可以以多种方式执行。例如 -

  • 你可以在我们的应用程序上应用跟踪,并在应用程序运行时获取应用程序的详细信息

  • 你可以在运行应用程序时使用事件日志记录机制。可以使用事件查看器查看消息

  • 你可以在特定时间间隔后应用性能监视,并从应用程序中写入实时数据。

代码约定使用不同的方法来跟踪和管理应用程序中的问题。而不是验证从方法调用返回的所有内容,代码契约在前提条件,后置条件和方法的不变量的帮助下,确保进入和离开方法的所有内容都是正确的。