>假设你关心代码的清晰度,并希望确保你的api用户非常清楚如何创建对象。你让他们做这样的事情
new MomentInTime(new DayOfMonth(15), new HourOfDay(10), new MinuteOfHour(49), new SecondOfMinute(0));
每个类DayOfMonth
,HourOfDay
彼此几乎相同,是某种价值存储。
现在,当你使用这个值的时候,使用Java的Calendar
,如果值是非法的,我们将得到某种RunTimeException。伟大。
现在。。我们是否可以在IDE(Eclipse
或Intellij
)中设置最小值,最大值边界,以警告我们即将发送到方法的值将导致错误?
是否有一个插件和一个注释可以协同工作,允许这样的警告?
与 IDE 一起@Boundaries {low=1, high=31}
的东西实际上认识到它会很棒。
如果存在这样的事情,请告诉我。
看看 Java 的合约。它确实与Eclipse进行了基本的集成。
interface Time {
...
@Ensures({
"result >= 0",
"result <= 23"
})
int getHour();
@Requires({
"h >= 0",
"h <= 23"
})
@Ensures("getHour() == h")
void setHour(int h);
...
}