сила, предупреждающая в Java

Я хотел бы, чтобы механизм бросил время компиляции, предупреждая вручную. Я использую его для установки флага незаконченного кода, таким образом, я не могу возможно забыть об этом позже. @Deprecated близок, но предупреждает на сайте вызывающей стороны, не на сайте создания. Я использую затмение. Что-то как #Warning в C#.

9
задан Dustin Getz 19 May 2010 в 18:45
поделиться

5 ответов

Почему бы просто не добавить флаг в исходный код, например //TODO: или что-то в этом роде? А затем просто искать все вхождения TODO в файле? Вы даже можете иметь какой-нибудь специальный флаг, например FINISHME или что-то в этом роде.

Если у вас в проекте сотни TODO от команды, вы можете фильтровать по строке, например, по вашим инициалам, в правом верхнем меню панели задач.

6
ответ дан 4 December 2019 в 15:12
поделиться

Создание аннотации, выводящей предупреждение.

2
ответ дан 4 December 2019 в 15:12
поделиться

Вы можете попытаться выбросить исключение, если вызывается незавершенный метод (например)

throw new UnsupportedOperationException()

(Или вы можете создать свое собственное исключение). Очевидно, что это поможет только во время выполнения (если вы не сделаете поиск или что-то в коде для этого - но Todo будет лучшим решением для этого)

И если вы используете eclipse, вы можете пометить ваш незавершенный код // TODO, и он появится в вашем списке задач (и в правом желобе, если он у вас настроен). Очевидно, что все может стать очень шумным, если у вас много меток Todo.

1
ответ дан 4 December 2019 в 15:12
поделиться

Я не уверен, есть ли что-нибудь подобное в java

, но вот кое-что, что может вам помочь:

скомпилируйте приведенный ниже код следующим образом:

javac -Xprint verbose.java

public class verbose{

    public @interface SomeMessage {
        String somevalue();
    }


    @SomeMessage(
        somevalue = "WHOOOOHOOOO000000000000000"
    )

    public static void main(){
        System.out.println("Hello");
    }   
}
0
ответ дан 4 December 2019 в 15:12
поделиться

Я делаю это все время, просто помещая «*** ЗДЕСЬ ОТКЛЮЧЕНО ***» или что-то в этом роде. Поскольку это недопустимый синтаксис Java, C ++ или почти любого другого языка, компилятор выдает для него сообщение об ошибке.

Конечно, это выдает ошибку, а не предупреждение. Если вы хотите иначе успешно скомпилировать, я полагаю, что проще всего было бы поместить оператор, который, как вы знаете, будет генерировать предупреждение компилятора с комментарием «закончить это» или что-то в этом роде.

1
ответ дан 4 December 2019 в 15:12
поделиться
Другие вопросы по тегам:

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