一个很好的Java合同设计库?

Chr*_*nes 45 java design-by-contract

几年前,我做了一个关于Java的DbC包的调查,我对它们中的任何一个都不满意.不幸的是,我没有对我的发现做好记录,我认为事情已经发生了变化.有人会关心比较和对比不同的Java DbC包吗?

Ver*_*gen 22

关于按合同设计的WikiPedia有一个很好的概述 ,最后有一个关于语言的部分与第三方支持库,其中包括一系列很好的Java库.这些Java库中的大多数都基于Java Assertions.

在您只需要前置条件检查的情况下,还有一个轻量级的验证方法参数解决方案,位于Java Argument Validation(Plain Java实现)下的SourceForge中.

根据您的问题,也许OVal框架,对于字段/属性约束验证是一个不错的选择.此框架允许您将约束放置在各种不同的形式(注释,POJO,XML)中.通过POJO或脚本语言(JavaScript,Groovy,BeanShell,OGNL,MVEL)创建客户约束.并且它也实现了合同编程.

  • 我不确定这里的评论是最好的地方/方式,但仅适用于下一篇阅读:[Java合同 - cofoja](http://code.google.com/p/cofoja/)是最近添加的直接来自谷歌的20%时间研究. (8认同)

use*_*ser 6

谷歌有一个名为contract for java的开源库.

Java合同是我们新的开源工具.前提条件,后置条件和不变量在注释中添加为Java布尔表达式.默认情况下,它们不执行任何操作,但通过JVM参数启用,它们在运行时进行检查.

• @Requires, @Ensures, @ThrowEnsures and @Invariant specify contracts as Java boolean expressions
• Contracts are inherited from both interfaces and classes and can be selectively enabled at runtime
Run Code Online (Sandbox Code Playgroud)

java的合同.