Сравнение генераторов документации - Comparison of documentation generators

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

Общая информация

Основная общая информация о генераторах, в том числе: создатель или компания, лицензия и цена.

ИмяСоздательФормат вводаЯзыкиПоддержка ОСДата первого публичного выпускаПоследняя стабильная версияЛицензия на программное обеспечение
COBOLDocБруно Пачеко Лопеш да СилваТекстКОБОЛЛюбой2020/08/011.0.11GPL
DdocУолтер БрайтТекстDWindows, OS X, Linux и BSD2005/09/19DMD 2.078.3Способствовать росту
Документ! ИксInnovasysТекст, двоичныйТолько C ++ / CLI, Java, C #, VB, VBScript, IDL, PL / SQLТолько Windows19982014.1Проприетарный
DoxygenДимитри ван ХишТекстC / C ++, Java, C #, D, IDL, Фортран, PHP, Python, TclЛюбой1997/10/261.8.20GPL
ЭпидокЭдвард ЛоперТекстPythonЛюбой2002/01/—3.0 (2008)Массачусетский технологический институт
fpdoc (Генератор документации Free Pascal)Себастьян ГюнтерТекстПаскаль[требуется проверка ]2005?2.6.4GPL
ПикшаСаймон МарлоуТекстHaskellЛюбой20022.15.0 (2014)BSD
HeaderDocApple Inc.ТекстC, C ++, Java, Delphi, Pascal, IDL, PHP, Perl, Python, Ruby, JavaScript, Tcl, AppleScript, MIG, Bash, CshЛюбой Unix-подобный2000/09/—8.9.28 (2013)APSL
Imagix 4DImagix Corp.ТекстC, C ++, JavaWindows, Linux, Unix19957.3Проприетарный
JavadocSun MicrosystemsТекстЯваЛюбой19951.6GPL
ScalaDocЛАМПА, EPFLТекстScalaЛюбой20111.0Лицензия Scala
JSDocМайкл МэтьюзТекстJavaScriptЛюбой2001/07/—1.10.2GPL
Набор инструментов JsDocМайкл МэтьюзТекстJavaScriptЛюбой2007?2.0.0Массачусетский технологический институт
мкдЖан-Поль ЛуайоТекстЛюбой с комментариямиЛюбой ([OS X? требуется проверка ])19892015EUPL GPL
Естественные документыГрег ВалюрТекстЛюбой с комментариямиЛюбой2003/05/262.0.2GPL
NDocДжейсон Даймонд, Жан-Клод Маноли, Крал ФерчДвоичныйC #Только Windows2003/07/271.3.1GPL
Пандок[требуется проверка ]Джон Макфарлейн??Любой20061.14.0.3 (2015)GPL
pdoc3[1]KerncТекстPythonЛюбой20130.9.1 (2020)Афферо GPL
PerldocЛарри УоллТекстPerlЛюбой19945.16.3Художественный, GPL
phpDocumentorДжошуа ЭйхорнТекстPHPЛюбой20003.0.0LGPL для 1.x, Массачусетский технологический институт для 2+
PydocКа-Пинг Йи[2][3]ТекстPythonЛюбой2000в ядре PythonPython
RDocДэйв ТомасТекстC, C ++, RubyЛюбой2001/12/14в ядре RubyРубин
ROBODocФранс СлоуберТекстЛюбой с комментариямиЛюбой1995/01/194.99.36 (2015)GPL
замок из пескаMicrosoftТекст.СЕТЬТолько Windows2008/05/—2014.5.31.0Ms-PL
СфинксГеорг БрандлТекстC, C ++, Ada, Fortran, PHP, Python, Ruby, JavaScriptЛюбой2008/03/211.6.3BSD
Визуальный экспертНовалисТекст, двоичныйC #, PL / SQL, Transact-SQL, PowerBuilderТолько Windows19952017Проприетарный
VSdocmanHelixoftТекстC #, VB, VBScriptТолько Windows2 октября 2003 г.9.0Проприетарный
ПЛОЩАДКАЛорен СигалТекстРубинЛюбой2007/02/240.7.3Массачусетский технологический институт
ИмяСоздательФормат вводаЯзыкиПоддержка ОСДата первого публичного выпускаПоследняя стабильная версияЛицензия на программное обеспечение

Поддерживаемые форматы

Форматы вывода, которые могут записывать генераторы.

HTMLCHMRTFPDFЛатексPostScriptстраницы руководстваDocBookXMLePub
COBOLDocдаНетНетНетНетНетНетНетНет
Ddocдада[а]Нетда[а]да[а]да[а]да[а]Нетда[а]
Документ! ИксдадаНетНетНетНетНетНетНет
DoxygenдададаКосвенно[b]даКосвенно[b]дададаНет
ЭпидокдаНетНетдаКосвенно[c]Косвенно[c]НетНетНет
ПикшададаНетНетНетНетНетЧастичноеНет
HeaderDocдаНетНетНетНетНетдаНетда
Imagix 4DдаНетдаНетНетНетНетНетНет
JavadocдаКосвенно[d]Косвенно[d]Косвенно[d]Косвенно[d]Косвенно[d]Косвенно[d]Косвенно[d]Косвенно[d]
JSDocдаНетНетНетНетНетНетНетНет
Набор инструментов JsDocдаНетНетНетНетНетНетНетДа + JSON
Естественные документыдаНетНетНетНетНетНетНетНет
NDocдадаНетНетНетНетНетНетНет
pdoc3даНетНетКосвенно[e]НетНетНетНетНетНет
phpDocumentorдаДа (только 1.x)НетДа (только 1.x)НетНетНетДа (только 1.x)Да (только 1.x)
PydocдаНетНетНетНетНетНетНетНетНет
RDocдада[f]НетНетНетНетКосвенно[грамм]Нетда[f]
ROBODocдаКосвеннодаКосвенно[c]даКосвенно[c]дадаНет
замок из пескададаНетНетНетНетНетНетНет
СфинксдадаКосвенно[час]дадада
Визуальный экспертдаНетНетНетНетНетНетНетНет
VSdocmanдадаНетдаНетНетНетНетда
ПЛОЩАДКАдаНетНетНетНетНетНетНетНет
HTMLCHMRTFPDFЛатексPostScriptстраницы руководстваDocBookXMLePub

Другие свойства

возможность расширенной настройкисгенерированные диаграммывыделение и привязка сгенерированного документатипы параметров извлечены
COBOLDocда
Ddocс макросами
Документ! Икснастраиваемые шаблоны на основе HTML, настраиваемые теги комментариевсхемы взаимосвязей графических объектоввнутренние ссылки и ссылки на документацию по .NET frameworkтипы извлечены и связаны
Doxygenс XSLTграфики вызывающих и вызываемых абонентов, графики зависимостей, диаграммы наследования, диаграммы сотрудничества
Эпидок
Пикшадада
HeaderDocНастраиваемые верхние и нижние колонтитулы, цвет кода и другие стили CSS на отдельных страницах. Оглавление проекта создается на основе пользовательского шаблона.Настраиваемая подсветка / раскраска синтаксиса с автоматической привязкой к символам в объявлении, возможность вручную ссылаться на символы в обсуждении и т. Д.Предоставляет предупреждения, если тегированные параметры не соответствуют коду, проанализированные параметры включены в вывод XML и файл тегов в стиле Doxygen (флаг -D в 8.7). Частичная поддержка препроцессора C с флагом -p. Поддержка # if / # ifdef для управления включением документации с помощью флагов командной строки -D и -U.
Imagix 4Dнастраивается с помощью таблиц стилей и CSSсвязанные иерархии и графики зависимостей для вызовов функций, наборов переменных и чтения, наследования классов и интерфейса, а также файлов и интерфейсов, внутрифункциональные блок-схемыполностью перекрестно связанные в рамках проекта, включая все иерархии и графики зависимостей, таблицы показателей, фрагменты исходного кода и исходные файлыполный семантический анализ исходного кода, включая типы параметров, директивы условной компиляции, расширения макросов
Javadoc
JSDocда
Набор инструментов JsDocда
мкдНастраивается для всех типов комментариев"как есть" в комментарияхвся общая документация; ссылки, руководство, органиграммы, ... Включая двоичные коды, включенные в комментарии.все закодированные комментарии
Естественные документы
NDoc
PerldocРасширьте классы генератора с помощью программирования на Perl.Только ссылка
pdoc3заменяемые шаблоны макоподсветка синтаксиса исходного кода, автоматическая перекрестная ссылка на объявления символовда
phpDocumentorШаблоны на основе Smarty (1.x), шаблоны на основе Twig (2+)диаграммы наследования классовперекрестная ссылка на сгенерированную документацию и ссылку на функцию php.netда
Pydoc
RDoc
ROBODoc
Сфинкс10 тем оформления; Шаблоны Jinja2; Плагины Pythonнесколько в sphinx-contrib, например используя aafigure, actdiag, Google Chart или gnuplotСодержание, указатель; перекрестные ссылки; подсветка синтаксиса с помощью Pygmentsнастраиваемые объекты (например, функции и классы)
Визуальный экспертсодержание документации и настраиваемые стилиНаследование классов, деревья вызовов, зависимости (анализ влияния)внутренние связи между классами, методами, переменными, таблицами, столбцами ...все типы извлечены
VSdocmanполная настройка для всех форматов вывода, шаблоны для вывода, подобные MSDN, настраиваемые теги комментариев XMLсвязанные графические диаграммы классов, дерево наследования классоввнутренние ссылки и ссылки на документацию по .NET frameworkтипы извлечены и связаны
ПЛОЩАДКАнастраиваемые шаблоны Rubyдиаграммы классов с дополнительным инструментомперекрестные ссылки на внутренние классы / модули и выделение исходного кода Ruby

Возможные упущения

Смотрите также

Примечания

  1. ^ а б c d е ж Ddoc имеет систему макросов, которую можно настроить для вывода любого желаемого формата. Были протестированы CHM, groff (страницы руководства), XHTML, XML и LaTeX (так же PostScript и PDF). В настоящее время они не входят в стандартную поставку. Стандартный вывод HTML также создается с использованием макросов и может быть переопределен.
  2. ^ а б Генерируется только из вывода LaTeX.[4]
  3. ^ а б c d Хотя официально не поддерживается в качестве формата вывода, Epydoc использует LaTeX и PostScript в качестве промежуточных шагов для создания окончательной документации в формате PDF.
  4. ^ а б c d е ж грамм час Через Доклеты от третьих лиц.
  5. ^ Генерируется только из вывода Markdown или HTML.
  6. ^ а б RDoc в настоящее время предоставляет генераторы для документов CHM и XML только в версии RDoc, предоставляемой как часть ядра Ruby 1.9.
  7. ^ RDoc создает документацию для RI, который является версией руководств Unix для Ruby.
  8. ^ Генерируется только из вывода LaTeX

Рекомендации