История изменений
Исправление
stevejobs,
(текущая версия)
:
Зато полное перечисление можно проверить статически в compile time, а вот этот иф с экзепшеном в конструкторе даже IDE типа Идеи не распарсит (нужно городить язык, в котором в сигнатуру нужно будет добавлять тесты/guards, которые IDE будет гонять в compile time для проверки параметров, а в рантайме в начало каждого метода с этими гардами впихать проверку теста и если не проходит - RuntimeException).
типа
class Percent {
private int value = 0;
@Guard("should be between 0 and 100", number>=0, number<100)
public Percent(int number) {
value = number;
}
}
Исходная версия
stevejobs,
:
Зато полное перечисление можно проверить статически в compile time, а вот этот иф с экзепшеном в конструкторе даже IDE типа Идеи не распарсит (нужно городить язык, в котором в сигнатуру нужно будет добавлять тесты/guards, которые IDE будет гонять в compile time для проверки параметров, а в рантайме в начало каждого метода с этими гардами впихать проверку теста и если не проходит - RuntimeException).