当前位置:  开发笔记 > 编程语言 > 正文

合同设计是否适合您?

如何解决《合同设计是否适合您?》经验,为你挑选了2个好方法。

您是否专业使用Design by Contract?这是您从项目一开始就要做的事情,还是可以改变方向并开始将其融入您的软件开发生命周期?您发现什么是设计方法的优缺点?

我在研究生课程中遇到了" 按合同设计"的方法.在学术环境中,它似乎是一种非常有用的技术.但我目前不专业地使用Design by Contract,而且我不知道任何其他开发人员正在使用它.听听SO群众的实际使用情况会很好.



1> James A. Ros..:

我不能高度推荐它.如果你有一个采用内联文档合同规范的套件,那就特别好了,如下所示:

// @returns null iff x = 0
public foo(int x) {
  ...
}

并将它们转换为生成的单元测试,如下所示:

public test_foo_returns_null_iff_x_equals_0() {
  assertNull foo(0);
}

这样,您实际上可以看到正在运行的测试,但它们是自动生成的.顺便说一句,生成的测试不应该检查到源代码管理中.


我没有看到这个示例测试用例应该如何测试"iif"的"且仅当"部分.
有关C#/ .NET的开源软件的任何建议吗?

2> Ged Byrne..:

当您在必须相互通信的应用程序之间建立接口时,您真的可以通过合同来欣赏设计.

如果没有合同,这种情况很快就会成为一场责怪网球比赛.团队不断来回敲响指控,浪费了大量时间.

有了合同,责任很明显.

调用者是否满足前提条件?如果不是,客户团队需要修复它.

鉴于有效请求,接收器是否满足后期条件?如果不是,服务器团队需要修复它.

双方是否都遵守合同,但结果不理想?合同不足,问题需要升级.

为此,您不需要以断言的形式实现合同,您只需确保所有各方都记录并达成一致.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有