Я хочу написать чистый код. Поэтому при написании метода я хочу сообщить вызывающему методу о параметрах, типе возвращаемого значения, исключениях и т. Д. При вызове метода вызывающая сторона должна уже знать, может ли метод вернуть значение null или параметр может иметь значение null.
Я могу объяснить это в javadoc, но я хочу сделать это с аннотациями. Я знаю реактивные мозги, и теперь JSR305 пытается решить эту проблему, но я думаю, что их недостаточно.
Итак:
Существует ли большая библиотека аннотаций для параметров и типов возвращаемых данных
Является ли эта аннотация только для удобства чтения кода или она выдает исключение, если во время выполнения встречается неожиданное значение / результат?
Объявления методов должны включать только проверенное основание исключение или его подклассы, например
public void foo() throws ConnectionException, AuthenticationException {
}
public class AuthenticationException extends ConnectionException {
}