基于契约的编程

发布于 2024-07-10 09:08:33 字数 160 浏览 9 评论 0原文

有人可以解释一下 Spec# 可能会转移到 C# 4.0 中有关代码契约的概念吗?

  • 什么是代码契约(看起来是编译时检查模式)
  • 我应该对此感到兴奋吗?
  • 我假设我们将运行时检查移至编译时是否正确?

谢谢!

Can someone explain the concepts that Spec# might be moving into C# 4.0, regarding Code Contracts?

  • What are code contracts (Looks to be a compile time checking pattern)
  • should I be excited about this?
  • Am I correct in assuming that we move what would be runtime checks to compile time?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

灼痛 2024-07-17 09:08:33

我个人是 Bertrand Meyer 的忠实粉丝,他写了这本书,名为 面向对象软件Construction 并创建了一种名为 Eiffel 的语言,该语言支持按合同设计或基于合同的编程。

  1. 代码契约是两个可能交互或不交互的软件实体之间的一种协议。 或多或少类似于界面,但更精确。
  2. 我不确定每个人是否应该或会对此感到兴奋。
  3. 你的假设有些正确。

您可能想观看本系列视频链接

I personally am a big fan of a guy called Bertrand Meyer who wrote this book called Object Oriented Software Contruction and created a language called Eiffel which endoreses Design By Contract or Contract based programming.

  1. Code Contract is a kind of agreement between 2 software entities that may or may not interact. More or less like interfaces but more precise.
  2. I am not sure if everyone should or would be excited about this.
  3. Your assumption is somewhat correct.

You might want to see this series of videos link

深海少女心 2024-07-17 09:08:33

以下是直接来自 Microsoft Research 的代码合同的详细描述。 听起来主要好处是:

  • 提高可测试性
  • 静态验证
  • API 文档(代码中)

Here's a good description of code contracts straight from Microsoft Research. It sounds like the main benefits are:

  • Improved testability
  • Static verification
  • API documentation (in code)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文