DominaN, а я как-раз наоборот, за аннотации, которые повышают самодокументированность кода.
Например, такой код:
public void storeData(Object data) { .. }
Что ты можешь о нём сказать? Что он куда-то сохраняет данные. И всё?
А вот тот же код с аннотациями.
@Override
@Asynchronous
public void storeData(@Nullable Object data) { .. }
Теперь мы знаем, что метод storeData переопределяет родительский или реализует абстрактный метод, проводится в асинхронном режиме, а переменная data может иметь значение null.
При этом код увеличился ненамного, но зато понятен разработчику и генератору javadoc.
__________________