UmlGraph против APIViz для поколения Maven javadoc
Мне интересно, есть ли какие-либо четкие причины выбирать UmlGraph вместо APIViz для создания диаграмм UML javadoc в сборке Maven2. Есть ли какая-то интеграция или функции, которые есть у одного над другим, они кажутся довольно похожими?
2 ответа
Здесь есть интересная ветка об UMLGraph vs apiviz (которая также упоминается в этом вопросе о SO), и я понимаю следующее:
- UMLGraph старше, но действительно хорош (dixit Fowler, который имеет больший вес, чем я).
- apiviz - это переписанный UMLGraph, но не совсем понятно, почему он переписан.
- "Большим" преимуществом apiviz является то, что сборка не завершится неудачей, если не будет установлен Graphviz (хотя, на мой взгляд, это не оправдывает полное переписывание).
- apiviz не генерирует графики автоматически, вы должны добавлять теги, а UMLGraph делать это автоматически по умолчанию (что может быть удобно), и полностью автоматические результаты хороши и просты для всех (UMLGraph также может моделировать композиционные отношения с помощью пользовательских тегов javadocs).
- UMLGraph, кажется, делает больше вещей (" похоже, что apiviz не делает ничего, кроме как предоставляет представление об обобщениях и использовании интерфейса " или " использование классов, показанное UMLGraph, действительно помогает понять, как работает класс "), но я не проверял себя и это может быть уже не верно или устарело.
Итак, если ваш проект публичный, то тот факт, что apiviz изящно работает без Graphviz, это хорошо. Если у вас много классов, необходимость добавлять теги в javadoc везде - большая боль. Если вы ищете специальные функции, UMLGraph может предложить больше. На самом деле, я думаю, вам следует поэкспериментировать, так как вы, очевидно, лучше знаете свои потребности и ограничения для окончательного выбора.
Это неправда, что apiviz требует аннотаций для генерации графиков, поскольку в документации четко сказано:
APIviz автоматически обнаруживает связь между пакетами и классами и их стереотип по умолчанию. Кроме того, вы можете использовать следующие теги doclet, чтобы добавить больше связей или сделать сгенерированную диаграмму более чистой.