Порівняльний аналіз генераторів документації
Опис переваг та недоліків різних генераторів документації. Порівняльний аналіз заявлених генераторів для виявлення найбільш якісних та детальних серед них. Ілюстрації синтаксису та результатів роботи генераторів. Вихідні коди для синтаксичних конструкцій.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | украинский |
Дата добавления | 29.10.2020 |
Размер файла | 442,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Національний технічний університет України “КПІ ім. І. Сікорського”
Порівняльний аналіз генераторів документації
Касянчук Дмитро Павлович, студент
Касянчук Д.П. Порівняльний аналіз генераторів документації
У статті описані переваги та недоліки різних генераторів. Проведено порівняльний аналіз заявлених генераторів для виявлення найбільш якісних та детальних серед них. Приведені ілюстрації їхнього синтаксису та результатів роботи.
Ключові слова: генератор документації, комерційна розробка, програміст, мови програмування, синтаксис, коментар.
Касянчук Д.П. Сравнительный анализ генераторов документации
В статье описаны преимущества и недостатки различных генераторов. Проведен сравнительный анализ заявленных генераторов для выявления наиболее качественных и детальных среди них. Приведены иллюстрации их синтаксиса и результаты работы.
Ключевые слова: генератор документации, коммерческая разработка, программист, языки программирования, синтаксис, комментарий.
Kasianchuk Dmytro. Comparative analysis of documentation generators
The article describes the advantages and disadvantages of various generators. A comparative analysis of the declared generators was carried out to identify the most high- quality and detailed ones among them. Translated illustrations of their syntax and results.
Keywords: documentation generator, commercial development, programmer, programming languages, syntax, commentary.
Постановка проблеми
Генератор документації -- це програма, результатом виконання якої є отримання документації призначеної для програмістів або користувачів системи. Принцип роботи таких програм полягає в аналізі вихідного коду для знаходження синтаксичних конструкцій, які відповідають головним об'єктам програми (тип, метод, функція, процедура і т.д.). Спираючись на всю зібрану інформацію формується документація в одному з форматів -- HTML, HTMLHelp, PDF, RTF та інших [3]. Залежно від того, який генератор використовується, є відмінності і в синтаксисі конструкцій, які наявні в документованих коментарях.
Документований коментар -- спеціальним чином оформлений коментар, що відповідає певному об`єкту програми [3]. Як правило, вони можуть містити інформацію про автора коду, зміст вхідних і вихідних параметрів для функції і тому подібне. Загалом документація необхідна і дуже важлива для комерційної розробки, адже вона допомагає розібратися з тим, як працює система за менший період часу, а генератори, в свою чергу, значно зменшують кількість часу для створення документації.
Формування мети дослідження
Метою роботи є аналіз певних генераторів документації для порівняння, що дає змогу виявити переваги і недоліки кожного з них. Порівнюватися будуть наступні генератори: D oxygen, JSDoc, Sphinx, JSDuck, Slate.
генератор документація
Порівняльний аналіз генераторів документації
Doxygen (рис. 1) -- використовується з такими мовами як С++, С, С#, Fortran, PHP, IDL, Java, VHDL, Objective-C, Python[4]. Даний генератор може сформувати документацію, яка буде містити в собі посилання, діаграми класів, викликів і т.п. в різних форматах: HTML, LaTeX, CHM, RTF, PostScript, PDF, man-сторінки. Doxygen дуже простий і зрозумілий в налаштуванні та установці. Його особливістю є можливість генерації документації не тільки на основі вихідного коду, а й на недокументованому вихідному коді. Також слід зазначити, що в документації, представленій в HTML форматі, реалізована можливість зручного пошуку, а також є посилання на зовнішню документацію. Якщо при роботі з Doxygen користувачу знадобилося задати додаткові параметри для майбутньої документації, то це можна зробити використовуючи конфігураційний файл, який являє собою звичайний текстовий формат. Проте слід зазначити і те, що для роботи з цим файлом існує декілька програм з графічним інтерфейсом, і це суттєво полегшує налаштування конфігураційного файлу. До мінусів можна віднести те, що цей генератор не має справжнього модульного налаштування.
Рис. 1. Результат роботи генератора Doxygen
Рис. 2. Приклад синтаксису для JSDoc
JSDoc (рис.2) -- це генератор документації в HTML форматі з вихідного коду на мові JavaScript. До переваг даного компілятора слід віднести те, що ядро генератора написане на мові JavaScript, а тому для генерації документації треба лише встановлена java-машина і більше ніяких додаткових файлів. Також плюсом є наявність великої кількості прикладів використання JSDoc, що значно полегшує його освоєння. Також реалізована можливість роботи з коментарями російською мовою. Але існує і певний недолік, а саме, неможливість генерації документації для класів, які знаходяться в анонімній функції. Приклад такого класу:
mdude('dassLjs', 'dass2.js', Шп^юпО {
/**
* Для цього класу генерація неможлива
* @dass
* @constructor
*/
var MyClass = ШпоіюпО {};
});
Рис. 3. Результат роботи генератора Sphinx
Sphinx (рис.3) -- генератор, який спочатку створювався лише для мови Python, але потім розробники додали підтримку С та С++ і планується додати підтримку ще більшої кількості популярних мов програмування. Принцип роботи генератора Sphinx в тому, що він перетворює файл в форматі reStructuredText в HTML, PDF, man та інші[5]. reStructuredText -- це полегшена мова розмітки. Даний генератор легко встановити і він доступний для всіх операційних систем, які підтримують мову Python. До недоліків можна віднести те, що для використання Sphinx потрібно додатково розібратися з reStructuredText.
Рис. 4. Приклад синтаксису JSDuck
JSDuck (рис.4) - генератор документації, цікавою особливістю якого є можливість використовувати його для будь-якого коду за умови, що цей код задокументовано відповідно до стандартів [2]. Також JSDuck відзначається легкістю в установці та використанні. Ще однією особливістю можна назвати те, що цей генератор може аналізувати код і генерувати документацію навіть без стандартних блоків. Реалізована можливість додавання спеціальних сторінок, а саме: сторінка привітання, сторінка з категоріями, сторінка з інструкціями, сторінка з прикладами. По підсумкам опитування, яке проводилося серед користувачів JSDuck, було зроблено висновок, що це дуже простий в розумінні і використанні генератор документації, недоліків якого не виявлено.
Рис. 5. Інтерфейс генератора документації Slate
Slate (рис.5) -- це генератор, який має інтуїтивно зрозумілий дизайн, він адаптивний і тому з ним можна працювати як на комп'ютерах так і на планшетах, ноутбуках, телефонах [1]. Slate має посилання на різні пункти документації, що допомагає користувачу швидко знайти потрібний розділ. Також цей генератор використовує Markdown і це спрощує розуміння та редагування. Ще одним плюсом для даного генератора є реалізована можливість підсвічування для 60-ти різних мов програмування і це додає комфорту до роботи з ним.
В таблиці 1 зображена оцінка за 5-ти бальною шкалою всіх засобів за трьома критеріями, які є важливими для генератора документації, а саме: кількість підтримуваних мов, кількість вихідних форматів та інтерфейс користувача. Інтерфейс користувача оцінювався за такими параметрами, як: зручність, відповідність сучасним тенденціям, а також нативність. Варто зазначити, що оцінка інтерфейсу - це суб'єктивна оцінка автора, а кількість підтримуваних мов і вихідних форматів - це значення, яке пропорційне статистичним даним взятим з різних джерел інформації. Сумарна оцінка вираховувалася, як середнє арифметичне цих оцінок.
Таблиця 1. Порівняння генераторів документації за різними критеріями
Критерій Інструмент |
Кількість підтримуваних мов |
Кількість вихідних форматів |
Інтерфейс користувача |
Сумарна оцінка |
|
Doxygen |
4 |
5 |
4 |
4.3 |
|
JSDoc |
2 |
4 |
4 |
3.3 |
|
Sphinx |
3 |
3 |
4 |
3.3 |
|
Slate |
4 |
4 |
5 |
4.3 |
|
JSDuck |
5 |
4 |
5 |
4.6 |
Висновок
Генератор документації -- це дуже корисний і важливий інструмент в арсеналі програміста, тому він повинен бути зручним, зрозумілим, простим і детальним. З огляду на все вищесказане, можна назвати JSDuck беззаперечним лідером серед представлених генераторів документації. Цей генератор має всі якості, якими повинен бути наділений потужний інструмент для генерації документації. Реалізована підтримка для всіх мов програмування, що робить його універсальним генератором, який підійде для розробника на будь-якій мові програмування. Не поступається JSDuck і генератор Slate, він підтримує 60 мов програмування, а також з ним можна працювати знаходячись будь-де, адже він має адаптивний дизайн і чудово виглядає як на екрані комп'ютера, так і на телефоні. Проте, якщо Ви розробник на мові С, C++, Python, то для Вас будуть цікаві і такі генератори, як Sphinx та Doxygen. Вони зрозумілі, зручні та детальні. Хоча слід пам'ятати і те, що для використання Sphinx буде потрібно розібратися з reStmcturedText. Якщо Вам цікаві генератори документації для мови JavaScript, то слід звернути увагу на JSDoc. З використанням цього генератору легко розібратися, адже існує велика кількість прикладів, а також він не потребує додаткових файлів для установки. Проте проблема генератору в тому, що він не генерує документацію для класів, які знаходяться в анонімній функції.
Список бібліографічного опису
1. Slate API Docs Generator, https://ruprogi.ru/software/slate-api-docs-generator
2. JSDuck -- генератор документации, https://habr.com/ru/post/214591/
3. Генератор документации, https://ru.wtkipedia.org/wiki/Генератор_документации
4. Doxygen, http://www.doxygen.nl
5. Sphinx, https://www.sphinx-doc.org
References
1. Slate API Docs Generator, https://ruprogi.ru/software/slate-api-docs-generator
2. JSDuck -- generator documentacii, https://habr.com/ru/post/214591/
3. Generator documentacii, https://ru.wikipedia.org/wiki/TeHepaTOp_goKyMeHrapHH
4. Doxygen, http://www.doxygen.nl
5. Sphinx, https://www.sphinx-doc.org
Размещено на Allbest.ru
...Подобные документы
Створення і використання індексів та переглядів БД. Створення і використання тригерів, генераторів та збережених процедур на боці SQL-сервера. Отримання практичних навичок обміну даними між прикладенням і БД. Перегляд записів зв’язаних таблиць БД.
лабораторная работа [1,9 M], добавлен 08.06.2009Параметри процесорів, принцип мікропрограмного керування, швидкодія процесора, тактова частота, використання генераторів змінної частоти. Загальні відомості формфакторів системних плат. Системи Plug and Play, вибір системної плати.
контрольная работа [39,9 K], добавлен 19.10.2009Визначення криптографічних методів захисту інформації як способів шифрування та кодування даних, які потребують ключа і оберненого перетворення. Характеристика принципу гаммування. Криптоаналіз лінійних конгруентних генераторів псевдовипадкових чисел.
курсовая работа [242,4 K], добавлен 01.02.2012Характеристика швидкодії алгоритмів сортування масивів прямим і бінарним включенням, методами "бульбашки", "камінця", та шейкерного відбору, визначення їх переваг та недоліків. Огляд функцій сортування із стандартної бібліотеки мови програмування С++.
курсовая работа [452,1 K], добавлен 16.09.2010Розробка програмного продукту візуального відображення алгоритмів генерації псевдовипадкових чисел та засобів їх тестування у середовищі Delphі; статистичний аналіз. Реалізація лінійного конгруентного методу в стандартних бібліотеках різних компіляторів.
дипломная работа [2,4 M], добавлен 26.10.2012Вивчення стандартів єдиної системи конструкторської документації на прикладі розробки навчальної документації, складальних креслеників, специфікацій. Таблиці для конструювання складанних одиниць рейтера. Розрахунок зубчастих з'єднань та їх деталей.
курсовая работа [1,8 M], добавлен 20.04.2013Опис можливостей методу скінчених елементів, аналіз існуючих систем звичайно-елементних розрахунків. Реалізація пластинчастих конструкцій в програмному комплексі Ліра. Аналіз шкідливих факторів при написанні програм. Проектування заземлення будівлі.
дипломная работа [3,0 M], добавлен 03.04.2020Порівняльний аналіз можливостей, функцій та основних елементів програм для створення та редагування музичних композицій: AbletonLive, AdobeAudition, Cubase, FlStudio, Nuendo, Reason, SoundForge, WaveLab. Типи, версії та призначення програмних засобів.
реферат [16,3 K], добавлен 19.06.2014Комбінація методів ринкового регулювання, заснованих на зворотних зв'язках. Аналіз методологій розробки програмного забезпечення. Порівняльний аналіз програмних технологій. Вибір технології доступу до даних. Компонент взаємодії адмінчастини з базою даних.
дипломная работа [3,0 M], добавлен 02.02.2013Створення програми для роботи зі зв'язаними списками засобами Delphi. Причини використання динамічної пам'яті комп’ютера. Розробка технічного завдання. Аналіз вимог та визначення специфікації. Етап реалізації та розробка документації користувача.
курсовая работа [487,5 K], добавлен 08.08.2011Історія створення мови С#. Аналіз алгоритмів кодування даних. Розробка системи в середовищі Visual Studio 2008 Express. Схема шифрування алгоритму DES. Дослідження алгоритму RC2. Приклади хешів RIPEMD-160. Програмна реалізація основних процедур системи.
дипломная работа [1,7 M], добавлен 25.10.2012Розробка та схема алгоритму проектованої гри. Особливості мови програмування та середовища "Microsoft Visual Studio C++ 2008 Express Edition". Лістинг програми та загальний опис її роботи, аналіз отриманих результатів та оцінка практичної ефективності.
курсовая работа [762,8 K], добавлен 03.05.2015Структура сучасних систем виявлення вторгнень (СВВ), аналіз її методів і моделей. Характеристика основних напрямків розпізнавання порушень безпеки захищених систем в сучасних СВВ. Перелік недоліків існуючих СВВ та обґрунтування напрямків їх вдосконалення.
реферат [467,9 K], добавлен 12.03.2010Склад та вимоги до профілів захищеності інформації. Аналіз найбільш поширених загроз Web-сторінкам. Класифікація вразливостей і атак. Автоматичне сканування Web-додатків. Сканер вразливостей Nikto-online, особливості та ефективність його роботи.
курсовая работа [3,7 M], добавлен 18.05.2015Аналіз предметної області і постановка задачі на розробку програми для автоматизації роботи автопідприємства. Перелік та опис використаних компонентів та основних процедур програми. Опис структур та методів обробки даних. Інструкція для користувача.
курсовая работа [2,3 M], добавлен 15.02.2012Огляд найбільш використовуваних Інтернет-браузерів: Google Chrome, Maxthon, Mozilla Firefox, Internet Explorer, Opera, SeaMonkey та інші. Порівняльна характеристика деяких з цих програм, основні можливості, висвітлення недоліків та переваг у роботі.
презентация [3,8 M], добавлен 07.03.2013Розробка гнучкої пошукової системи обліку науково-дослідницької документації за допомогою інструментального засобу прискореної розробки програмного забезпечення Delphi та технології доступу до бази даних ADO з використанням бази даних в форматі MS Access.
дипломная работа [5,2 M], добавлен 22.10.2012Інтерфейс RS-232C як найбільш широко поширений стандартний послідовний метод зв'язку між мікрокомп'ютерами і периферійними пристроями, його призначення та сфери практичного застосування, оцінка основних переваг та недоліків, особливості реалізації.
реферат [55,3 K], добавлен 26.03.2011Сутність і напрямки вивчення методики шифрування алгоритмами збивання. Поняття та структура алгоритму DES, оцінка його переваг та недоліків. Підключ як деяка ключова інформація, яка отримується з основного ключа шифрування, його аналіз і значення.
лабораторная работа [99,5 K], добавлен 18.11.2015Основи проектування мобільного додатку для операційної системи Android з використанням хмарної бази даних Cloud Firestore. Аналіз основних труднощів, які виникають під час розробки додатків. Визначення основних переваг та недоліків хмарних баз даних.
статья [195,3 K], добавлен 07.02.2018