![]() |
1
86
|
![]() |
2
23
Spec# microsoft research project 这允许一些DBC构造,比如检查post和前置条件。例如,二进制搜索可以通过前置和后置条件以及循环不变量来实现。 This example and more:
请注意,使用Spec#语言会产生 编译时检查 对于DBC构造,我认为这是利用DBC的最佳方式。通常,依赖运行时断言会成为生产中的一个难题,人们通常会选择这样做 use exceptions 相反 有 other languages Eiffel 也可用于.NET平台。 |
![]() |
3
10
除了使用外部库之外,系统中还有一个简单的断言。诊断:
|
![]() |
4
7
在.net Fx 4.0中有一个答案:
http://msdn.microsoft.com/en-us/library/dd264808.aspx
|
![]() |
5
2
Looking over the code for Moq I saw that they use a class called 'Guard' that provides static methods for checking pre and post conditions . 我认为这很清楚。它表达了我在代码中实现契约式设计检查时的想法。 例如
我认为通过合同检查来表达设计是一种很好的方式。 |
![]() |
6
1
我希望验证扩展是建设者,这样您就可以
|
![]() |
7
1
对于我目前的项目(2010年2月VS 2008年),我选择了 http://lightcontracts.codeplex.com/ 很简单,它只是运行时验证,没有任何奇怪的复杂性,您不需要从一些“奇怪的”基类派生,没有AOP,VS集成,这在一些开发人员工作站上不起作用,等等。 简单胜过复杂。 |
![]() |
8
1
最直接的方法,也是在.NET Framework中使用的方法,是:
|
|
AdrianGW · 合同设计(DbC)和测试驱动开发的最佳实践[已关闭] 11 年前 |