Генератор документації
Генератор документації — програма або пакет програм, що дозволяє отримувати документацію, призначену для програмістів (документація на API) та/або для кінцевих користувачів системи, з особливим чином коментованого початкового коду і, в деяких випадках, з виконуваних модулів (отриманими на виході компілятора).
Зазвичай генератор аналізує початковий код програми, виділяючи синтаксичні конструкції, що відповідають значущим об'єктам програми (типами, класам та їх членам/властивостями/методам, процедурам/функціям тощо). В ході аналізу також використовується мета-інформація про об'єкти програми, подана у вигляді документувальних коментарів. На основі всієї зібраної інформації формується готова документація, як правило, в одному із загальноприйнятих форматів HTML, HTMLHelp, PDF, RTF тощо.
Документувальні коментарі
ред.Документувальний коментар — це особливим чином оформлений коментар до об'єкту програми, призначений для використання певним генератором документації. Від того, який генератор документації застосовується, залежить синтаксис конструкцій, що використовуються в документувальних коментарях.
У документувальних коментарях може міститися інформація про автора коду, описуватися призначення об'єкта програми, зміст вхідних і вихідних параметрів для функції/процедури, приклади використання, можливі виняткові ситуації, особливості реалізації.
Документувальні коментарі, як правило, оформляються як багаторядкові коментарі в стилі мови Сі. У кожному разі коментар розташовується перед документованим елементом. Першим символом у коментарі (та на початку рядків коментарю) має бути *
. Блоки відокремлюються порожніми рядками.
Приклад документувального коментаря в мові PHP:
/**
* Назва або короткий опис об'єкта
*
* Розгорнутий опис
*
* @назва_дескриптора значення
* @return тип_даних
*/
Приклад документувального коментаря до функції в програмі на Java, призначеного для використання Javadoc:
/**
* Перевіряє, чи допустимий хід.
* Наприклад, щоб задати хід e2-e4, напишіть isValidMove (5,2,5,4);
* @author John Doe
* @param theFromFile Вертикаль, на якій міститься фігура (1 = a, 8 = h)
* @param theFromRank Горизонталь, на якій міститься фігура (1 ... 8)
* @param theToFile Вертикаль клітинки, на яку виконується хід (1 = a, 8 = h)
* @param theToRank Горизонталь клітинки, на яку виконується хід (1 ... 8)
* @return true, якщо хід припустимий, і false, якщо неприпустимий
*/
boolean isValidMove(int theFromFile, int theFromRank, int theToFile, int theToRank)
{
. . .
}
Популярні генератори документації
ред.Приклади для різних мов і середовищ програмування:
- Doc-O-Matic;
- Document! X — призначений для програм мовами VB6, VB.NET/C#/Visual C++ .NET (.NET Framework 1.0, 1.1 і 2.0), COM-компонентів, баз даних Access, Microsoft SQL Server і Oracle, XML Schema та іншими мовами опису XML;
- Doxygen — мовами C++, Сі, Objective-C, Java, IDL, PHP, C#, Фортран, VHDL, Python і, частково, D;
- Epydoc[ru] — мовою Python;
- Javadoc — мовою Java;
- JSDoc — мовою JavaScript;
- HappyDoc[1];
- PasDoc[2] — мовою Delphi/Pascal;
- perldoc[en][3] — мовою Perl (включений в стандартний дистрибутив);
- phpDocumentor[ru] і PHPDoc (адаптація Javadoc для використання з PHP) — мовою PHP;
- POD — мовою Perl;
- RDoc[en][4] — мовою Ruby;
- ROBODoc[en][5];
- TwinText;
- NDoc[en][6] — мовами C#, VB.NET та іншими мовами платформи .NET;
- Sandcastle[en] — для C#, VB.NET та іншими мовами платформи .NET;
- Sphinx — мовою Python;
- VBdocman[en][7] — мовою VB6;
- VSdocman[en] (раніше VBdocman .NET) — мовами VB.NET і C#;
- WEB / CWEB;
- XHelpGen[ru] — мовою Delphi (входить до складу бібліотеки KOL/MCK).
- PHPDox [Архівовано 30 липня 2020 у Wayback Machine.] — проекти PHP.
Примітки
ред.- ↑ HappyDoc Source Documentation. Архів оригіналу за 27 листопада 2020. Процитовано 9 серпня 2020.
- ↑ PasDoc — pasdoc. Архів оригіналу за 20 грудня 2016. Процитовано 9 серпня 2020.
- ↑ Perl programming documentation — perldoc.perl.org. Архів оригіналу за 30 січня 2009. Процитовано 9 серпня 2020.
- ↑ RDoc — Document Generator for Ruby Source. Архів оригіналу за 6 червня 2022. Процитовано 10 червня 2022.
- ↑ ROBODoc — automating the software documentation process. Архів оригіналу за 13 травня 2011. Процитовано 9 серпня 2020.
- ↑ NDoc Online. Архів оригіналу за 3 липня 2006. Процитовано 9 серпня 2020.
- ↑ http://www.helixoft.com/vbdocman/[недоступне посилання]