gpt4 book ai didi

code-contracts - 对按契约(Contract)设计或代码契约(Contract)的看法

转载 作者:行者123 更新时间:2023-12-04 02:50:38 25 4
gpt4 key购买 nike

我目前正在阅读以了解有关按契约(Contract)设计/代码契约(Contract)的更多信息。

据我所知,就是写契约(Invariants,Pre and Post conditions)来确保代码能够保持有序。它还将保证通过基于检查和平衡的明确定义的机制来防止错误

但这不会影响软件性能吗?因为每个方法调用之间都有额外的检查。

我非常感谢人们与我分享他们对 Design By Contract 的看法和经验。欢迎提出缺点或优点。

最佳答案

通常此类框架支持运行时检查和静态分析。后者在编译时(或之前)执行;它根本不会减慢您的代码速度。前者可能会影响性能。

Microsoft Research Code Contracts项目就是一个很好的例子。您可以这样配置您的系统:

  • 静态分析在编译时甚至在设计者环境中应用可能的契约执行的子集;

  • 对在 Debug模式下编译的所有代码启用运行时检查;和

  • 为在 Release模式下编译的代码的公共(public) API 启用运行时检查的子集(非公共(public)代码没有运行时检查)。

这通常是性能和稳健性之间的良好折衷。

关于code-contracts - 对按契约(Contract)设计或代码契约(Contract)的看法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17822584/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com