Google宣布了一个新的开源Java工具ContractsforJava,基于JohannesRieken制作的ModernJass,灵感来自Eiffel编程语言,由两名Google工程师DavidMorgan和AndreasLeitner利用自己的20%时间制作。
【特色功能】
ContractsforJava可让你对代码进行注释来约束代码的先决条件、后置条件和不变量
示例代码:
interfaceTime{
...
@Ensures({
"result>=0",
"result<=23"
})
intgetHour();
@Requires({
"h>=0",
"h<=23"
})
@Ensures("getHour()==h")
voidsetHour(inth);
...
}