假设您关注代码的清晰度,并希望确保api的用户对于如何创建对象非常清楚。你让他们做像
这样的事情 new MomentInTime(new DayOfMonth(15), new HourOfDay(10), new MinuteOfHour(49), new SecondOfMinute(0));
每个班级DayOfMonth
,HourOfDay
彼此几乎完全相同,是某种价值商店。
现在,当您需要使用Java的Calendar
时,如果值非法,我们将获得某种RunTimeException。大。
现在..我们是否可以在我们的IDE(Eclipse
或Intellij
)中设置Min,Max边界,这些边界会警告我们将要发送给方法的值将是导致错误?
是否有可以协同工作的插件和注释,以便发出此类警告?
@Boundaries {low=1, high=31}
和IDE一起实际认识到它会很棒。
如果存在这样的事情,请告诉我。
答案 0 :(得分:2)
看看Contracts for Java。它确实与Eclipse有了初步的整合。
interface Time {
...
@Ensures({
"result >= 0",
"result <= 23"
})
int getHour();
@Requires({
"h >= 0",
"h <= 23"
})
@Ensures("getHour() == h")
void setHour(int h);
...
}