НМЦ

ОБ’ЄКТНО ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ

Електронний посібник

 

ВФПО

Модуль 4

 

4. Розробка об’єктно орієнтованих програм мовою java та їх документування

4.1. JAVA як платформа. IDE NetBeans

4.2. Об’єктно орієнтоване програмування. Документування програм

 

 

NetBeans IDE – вільне інтегроване середовище розробки (IDE) для мов програмування Java, JavaFX, C/C++, PHP, JavaScript, HTML5, Python, Groovy. Середовище може бути встановлене і для підтримки окремих мов, і у повній конфігурації. Середовище розробки NetBeans за замовчуванням підтримує розробку для платформ J2SE і J2EE.

 

Поширюється у вихідних кодах під ліцензією Apache License. Проєкт NetBeans IDE підтримувався і спонсорувався фірмою Sun Microsystems і після придбання Sun – Oracle. У жовтні 2016 року Oracle передав NetBeans у власність Apache Software Foundation, яка займається розробкою і підтримкою проєкту.

NetBeans IDE доступна для платформ Microsoft Windows, GNU/Linux, FreeBSD і Solaris (як SPARC, так x86). Для інших платформ доступна можливість зібрати NetBeans самостійно з вихідних кодів.

За якістю і можливостям останні версії NetBeans IDE змагається з найкращими інтегрованими середовищами розробки для мови Java, підтримуючи рефакторинг, профілювання, виділення синтаксичних конструкцій кольором, автодоповнення мовних конструкцій на льоту, шаблони коду та інше.

Розробку середовища NetBeans розпочато в 1996 під назвою Xelfi (гра букв на основі Delphi), як проєкт студентів зі створення Java IDE під керівництвом факультету математики і фізики Карлова Університету в Празі. У 1997 році Роман Станек сформував компанію навколо проєкту і став випускати комерційні версії середовища NetBeans до передачі всіх прав на IDE корпорації Sun Microsystems в 1999 році. Sun відкрила сирцеві коди середовища розробки NetBeans IDE в червні наступного року. Відтоді спільнота NetBeans постійно розвивається і росте завдяки людям і компаніям, що використовують і підтримують проєкт.

Версія 12, опублікована 09 червня 2020, має підтримку найновіших функцій Java, підтримку PHP 7.4, виправлені помилки та покращене відображення на моніторах hiDPI Windows. Версія 12.02 опублікована 07 грудня 2020 р. У цій версії додана підтримка PHP 8.0, була вилучена підтримка Nashorn.

NetBeans IDE підтримує плагіни, дозволяючи розробникам розширювати можливості середовища. У версії NetBeans IDE 6.0 підтримуються засоби застосунків на J2ME, UML, SOA, мова програмування Ruby (включаючи підтримку Ruby on Rails). Проте через невелику популярність NetBeans серед розробників Ruby у версії 7.0 підтримка Ruby та Ruby on Rails скасована, а наявні ресурси залучені для розвитку Java SE 7 та JDK 7.

 

У версії IDE 7.0 забезпечена підтримка Oracle Database, підтримуються наступні зовнішні компоненти:

Java EE та J2EE

Java Card SDK

Struts

Spring

Hibernate

Java API for RESTful Web Services (JAX-RS)

Java Wireless Toolkit для CLDC

Системи відстеження помилок Bugzilla і Jira

C/C++/Fortran

PHP

Groovy

Grails

Apache Ant

Apache Maven

Системи управління версіями: CVS; Subversion; Mercurial; ClearCase; Git;

GlassFish Server Open Source Edition

Oracle WebLogic Server

Сервери застосунків: GlassFish Enterprise Server, Tomcat, JBoss


 

 

Відеозапис лекції:

 

 

Частина 1: документування програм

javadoc.mp4 - Google Диск

 

 

Частина 2: документування програм

https://youtu.be/NRhsIuPs8BI

 

Коментарі Java – це примітки у файлі коду Java, які ігноруються компілятором та механізмом виконання.

 

Вони використовуються для анотації коду з метою уточнення його дизайну та призначення. Ви можете додати необмежену кількість коментарів до файлу Java, але є кілька "найкращих практик", яких слід дотримуватися при використанні коментарів.

 

Як правило, коментарі коду – це коментарі «реалізації», які пояснюють вихідний код, такі як описи класів, інтерфейсів, методів та полів.

 

Зазвичай це кілька рядків, написаних над кодом Java або поруч із ним, щоб пояснити, що він робить.

Інший тип коментарів Java – це коментар Javadoc. Коментарі Javadoc трохи відрізняються за синтаксисом від коментарів до реалізації і використовуються програмою Javadoc для генерації документації Java HTML.

 

Це хороша практика, коли у вас є звичка додавати коментарі Java до свого вихідного коду, щоб покращити його читабельність та зрозумілість для себе та інших програмістів. Не завжди миттєво ясно, що виконує розділ коду Java. Кілька пояснювальних рядків можуть суттєво скоротити час, необхідний для розуміння коду.

Коментарі в коді Java доступні лише людям. Компілятори Java не дбають про них, і при складанні програми вони просто пропускають їх. Кількість коментарів у вихідному коді не вплине на розмір та ефективність вашої скомпільованої програми.

 

В Java існує три типи коментарів:

однорядкові з застосуванням двох похилих рисок (//). Все, що йде в рядку після них, вважається коментарем.

// це коментар

System.out.println("Вивчаємо коментарі"); // виводимо на екран

багаторядкові – текст можна вказувати в кілька рядків, також зручно, якщо потрібно усунути кілька рядків тексту. Для відкриття коментаря використовується /*, а для закриття */. Все, що між ними, вважається коментарем. Вкладення багаторядкового коментаря в інший багаторядковий коментар не дозволяється.

/*

Це багаторядковий коментар

System.out.println("Це не буде виведено на екрані");

System.out.println("І це також не буде виведено на екрані");

*/

System.out.println("А це буде виведено");

для автоматичної генерації документації – розпочинаються символами /** і закінчуються */. Використовуються для додавання додаткової інформації про класи та методи, їх призначення, параметри. На основі цієї інформації можна згенерувати документацію за розробленими вами класами та їх методами. До того ж, ця документація буде подібною до офіційної документації Java.

 

Javadoc генератор документації в HTML-форматі з коментарів вихідного коду на Java від Sun Microsystems. Цей формат був обраний для забезпечення можливості зв'язати воєдино пов'язані документи за допомогою посилань. Коментарі javadoc стали "де факто" стандартом для документування створених Java-класів. Більшість середовищ розробки, таких як Eclipse та Netbeans, автоматично генерують документацію за допомогою javadoc.

Javadoc також забезпечує інтерфейс для створення доклетів та теглетів, що надають можливість аналізувати структуру Java-програми.

Javadoc-коментар – це так званий коментар документації. В коді він виділяється такою конструкцією:

/**

 * Так можна коментувати змінні класу.

 */

Ці коментарі дають можливість додавати в програму інформацію про неї, яка пізніше може бути використана утилітою javadoc (входить до складу Java Development Kit) для створення HTML-файлів.

Коментарі документації можна використовувати при коментуванні:

Ø полів (змінних);

Ø методів;

Ø конструкторів:

Ø класів;

Ø інтерфейсів;

Ø пакетів.

Варто відзначити, що в будь-якому разі коментарі мають знаходитися перед документованим об'єктом.

У коментарях також можна використовувати і стандартні HTML теги, наприклад <strong>. Проте на використання деяких з них накладається заборона, наприклад, заголовки порушують зовнішній вигляд HTML-файлу, сформованого за допомогою утиліти javadoc.

У документації можна також використовувати спеціальні дескриптори, призначені для вказування утиліті javadoc певної інформації.

Їх поділяють на:

Ø автономні (починаються з символу @, наприклад, @see);

Ø вбудовані (починаються з символу {, наприклад, {@code}).

Відмінність цих дескрипторів полягає у тому, що автономні мають використовуватись у власному рядку, в той час як вбудовані можуть бути використані всередині великого опису.

Приклад документування пакету:

/**

 * Пакет включає класи для використання XML потоків в програмах.

 *

 * @author Mir4ik

 * @version 1.0 10/06/12

 */

package XMLTools;

 

Приклад документування методу:

/**

 * Метод формує дерево XML елементів.

 * <p>

 * <strong>Увага:</strong> Дані поза кореневим тегом XML буде втрачено!

 * Використовуйте спеціальне поле для коментаря в <code>XMLElement</code>,

 * що можна задати методом {@link XMLElement#setComment(String)}.

 *

 * @return найвищий <code>XMLElement</code> в сформованому дереві

 * @throws XMLStreamException якщо під час парсингу виникла помилка

 * @throws IOException якщо виникла виняткова ситуація при читанні даних

 */

public XMLElement readRootTag() throws XMLStreamException, IOException {

   // код методу

}

 

Doxygen – кросплатформна система документування початкового коду програм, яка підтримує C++, Сі, Objective-C, Python, Java, IDL, PHP, Perl, C#, Фортран, VHDL і, частково, D.

 

Doxygen генерує документацію на основі набору вихідних текстів і також може бути налаштований для вилучення структури програми з недокументованих вихідних текстів. Можливе складання графів залежностей програмних об'єктів, діаграм класів та вихідних кодів з гіперпосиланнями.

Doxygen має вбудовану підтримку генерації документації в форматі HTML, LaTeX, man, RTF і XML. Також результати його роботи можуть бути легко конвертовані в CHM, PostScript, PDF.

Для HTML-представлення документації, що розміщується на web-серверах, існує зручний спосіб організації пошуку (за допомогою створюваного Doxygen'ом PHP-модуля) і посилань на зовнішню документацію.

Doxygen використовується в багатьох проектах, в тому числі KDE, Pidgin, Torque Game Engine, AbiWord, Mozilla, FOX toolkit, Crystal Space, Drupal. Є вбудована підтримка в KDevelop.

Doxygen – консольна програма в стилі класичної Unix. Вона працює подібно компілятору, аналізуючи вихідні тексти і створюючи документацію. Додаткові параметри для створення документації можуть читатись із конфігураційного файлу, що має простий текстовий формат.

Для спрощення маніпуляцій з конфігураційним файлом (який містить досить багато налаштувань), існує кілька програм з графічним інтерфейсом: програма doxywizard (реалізована з використанням Qt-3) поставляється разом з Doxygen; програма Doxygat заснована на Qt версії 4. Пізніше doxywizard був переписаний на Qt-4 і проєкт Doxygate був закритий.

 

Додаткові матеріали

1. NetBeans – Вікіпедія: https://uk.wikipedia.org/wiki/NetBeans

2. Основи програмування на Java – безкоштовний відеокурс (Prometheus): https://courses.prometheus.org.ua/courses/EPAM/JAVA101/2016_T2/about

3. Java Professional – авторський відеокурс (Бабич О.В, ITVDN): https://www.youtube.com/watch?v=H77pBuf582M&list=PLvItDmb0sZw9DXLBDs4IBcalvA1Nx56o9

4. Doxygen – Вікіпедія: https://uk.wikipedia.org/wiki/Doxygen

5. Основи програмування на Java – безкоштовний відеокурс (Prometheus): https://courses.prometheus.org.ua/courses/EPAM/JAVA101/2016_T2/about

6. Java Professional – авторський відеокурс (Бабич О.В, ITVDN): https://www.youtube.com/watch?v=H77pBuf582M&list=PLvItDmb0sZw9DXLBDs4IBcalvA1Nx56o9

 

 

Попередня тема

На початок

Наступна тема