UML-диаграмма JSDoc

Вопрос. Я редактирую и использую библиотеку javascript с открытым исходным кодом, в коде которой есть теги JSDoc. Мне было интересно, знает ли кто-нибудь о плагине JSDoc, который позволил бы мне создать диаграмму классов из тегов JSDoc.

Редактировать Я решил попробовать js/uml и обнаружил следующее. Для расширения JS/UML eclipse требуется более старая версия Eclipse (Indigo) и неподдерживаемая библиотека зависимостей UML2tools. Я нашел необходимые зависимости и, согласно диспетчеру программного обеспечения Eclipse, установил правильно. Когда я пытался включить функциональность uml (настроив корень js), процесс зависал. Примеры, которые предоставляет группа, указывают на один файл Javascript. Кажется, есть проблемы с несколькими ссылками на файлы.


person theCrux    schedule 18.12.2013    source источник
comment
Google дал мне JS/UML. При этом я уверен, что не существует решения, которое могло бы создать полную диаграмму UML только из тегов jsdoc, потому что jsdoc не записывает все, что UML стремится представить. . Теги jsdoc могут сказать вам, что у Foo есть Bar, но они не сообщат вам, сколько объектов Foo может иметь Bar, или точно, сколько объектов Bar может иметь Foo, является ли это отношение неизменным, является ли оно агрегацией, состав и др.   -  person Louis    schedule 19.12.2013
comment
@Louis Думаю, мне просто хотелось бы увидеть иерархию классов, если используется тег @extends.   -  person theCrux    schedule 19.12.2013
comment
JS/UML выглядит так, как будто поддерживает это.   -  person Louis    schedule 19.12.2013
comment
К сожалению, установить это расширение было непросто, потому что оно может работать только на Indigo EE Dev и должно иметь более старую версию uml2tools.   -  person theCrux    schedule 19.12.2013
comment
Для расширения JS/UML eclipse требуется более старая версия Eclipse (Indigo) и неподдерживаемая библиотека зависимостей UML2tools. Я нашел необходимые зависимости и, согласно диспетчеру программного обеспечения Eclipse, установил правильно. Когда я пытался включить функциональность uml (настроив корень js), процесс зависал. Примеры, которые предоставляет группа, указывают на один файл Javascript. Кажется, есть проблемы с несколькими ссылками на файлы.   -  person theCrux    schedule 20.12.2013
comment
Я бы предложил включить ваш опыт работы с JS/UML в свой вопрос, чтобы он был хорошо виден людям, которые могут предложить его (и тем, кто не читает комментарии), или людям, которые хотели бы попробовать.   -  person Louis    schedule 20.12.2013


Ответы (2)


вы можете использовать инструменты doxygen, он предоставляет метаданные для создания диаграммы классов uml

http://plantuml.sourceforge.net/doxygen.html

person Rotka    schedule 11.09.2014

Не уверен, на что были способны прошлые версии JSDoc, но теперь JSDoc поддерживает классы Javascript и ключевое слово extends. Если код размечен правильно, JSDoc может понимать наследование классов.

Можно создать плагин JSDoc, который подписывается на событие processingComplete: «Событие processingComplete запускается после того, как JSDoc обновляет результаты синтаксического анализа, чтобы отразить унаследованные и заимствованные символы». http://usejsdoc.org/about-plugins.html

Затем вы можете перебирать Doclets (объекты, представляющие элементы кода) и сериализовать свой собственный JSON. Затем вы можете написать простой HTML-рендерер для JSON-описания вашего исходного кода.

person Geordie    schedule 05.07.2017