Есть ли способ связать аннотации JDK с требованиями? - PullRequest
0 голосов
/ 02 ноября 2011

Привет, ребята: Есть ли открытый способ связать java @ annotations с функциональными требованиями или, например, с билетами TRAC и т. Д.? Я хочу сделать что-то вроде этого:

Я думаю о плагине eclipse, который каким-то образом связан с другим инструментом отслеживания проектов FOSS, вики или, возможно, даже файлом CSV.

Ниже приведена несколько глупая, но примерная иллюстрация того, чего я желаю:

@Requirement WalkDogTwiceADay
public void walkTheDog()
{

}

@Requirement WalkDogTwiceADay
public void dogWalkerThread()
{
   walkTheDog(); //in the morning.
   Thread.sleep(36000000);
   walkTheDog(); //at night
}

Ответы [ 2 ]

1 голос
/ 02 ноября 2011

в предыдущей жизни мы сделали нечто подобное с аннотациями @requirement #####, а затем выполнили пользовательскую задачу javadoc, которая превратила аннотации требований в гиперссылки в javadocs.

Я собирался написать дополнение для затмения, которое также превращало их в ссылки в коде, но так и не дошло до этого.

1 голос
/ 02 ноября 2011

Аннотации являются метаданными, они просто добавляют информацию в ваш код для использования другими инструментами или для проверки во время выполнения с помощью отражения.

Одна вещь, которую вы можете сделать, это написать процессор аннотаций, который будет генерировать необходимые артефакты. Это могут быть файлы конфигурации, скрипты, код ...

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

Возможно, некоторые из ответов, найденных в ответах на , на этот вопрос могут оказаться полезными. Если это так, продолжайте и используйте его. Но написание пользовательских процессоров аннотаций или кода для их обработки не так уж сложно. Трудная часть состоит в том, чтобы узнать API модели Java, который используется процессорами аннотаций, что похоже на отражение, но во время компиляции (до того, как у вас будут полностью сформированные классы).

...