Как я вынуждаю подкласс Java определить Аннотацию?

Попробуйте этот инструмент Javascript Obfuscator

Я использовал его в своей игре HTML5, и он не только уменьшил его размер с 950 КБ до 150, но и сделал нечитаемые компиляторы и мини-блокировки исходного кода обратимы, я лично не знаю, как отменить это обфускацию.

11
задан sblundy 19 September 2008 в 13:15
поделиться

3 ответа

4
ответ дан 3 December 2019 в 10:27
поделиться

Я совершенно уверен, что это невозможно сделать во время компиляции.

Однако это - очевидная задача для "единицы" - тест. Если бы у Вас есть конвенции как это, что Вы хотели бы осуществленный, но который может быть трудным или невозможным свериться с компилятором, "единицей" - тесты являются простым способом проверить их.

Другая возможность состоит в том, чтобы реализовать пользовательское правило в статическом анализаторе. Существует много опций здесь, также.

(Я поместил единицу в кавычки паники, так как это - действительно тест конвенций, а не определенной единицы. Но это должно работать вместе с Вашими модульными тестами).

3
ответ дан 3 December 2019 в 10:27
поделиться

Вы могли сделать Аннотацию (например, @EnforceAuthor) с @Inherited на суперклассе и использовать аннотации компилятора (начиная с Java 1.6) для наверстывания во время компиляции. Затем Вы имеете ссылку на подкласс и можете проверить, если другая Аннотация (например, @Author)), отсутствует. Это позволило бы отменять компиляцию с сообщением об ошибке.

2
ответ дан 3 December 2019 в 10:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: