Google宣布 了一个新的开源 Java 工具 Contracts for Java,基于 Johannes Rieken 制作的 Modern Jass,灵感来自 Eiffel 编程语言,由两名 Google 工程师 David Morgan 和 Andreas Leitner 利用自己的20%时间制作。
【特色功能】Contracts for Java 可让你对代码进行注释来约束代码的先决条件、后置条件和不变量
示例代码:
interface Time { ... @Ensures({ "result = 0", "result = 23" }) int getHour(); @Requires({ "h = 0", "h = 23" }) @Ensures("getHour() == h") void setHour(int h); ...}