Tworzenie dokumentacji w systemie Doxygen Paweł Strużyński 25 maja 2011.

Slides:



Advertisements
Podobne prezentacje
Podstawowe funkcje przegladarek.
Advertisements

Tworzenie stron internetowych
C++ wykład 9 ( ) Szablony.
C++ wykład 2 ( ) Klasy i obiekty.
C++ wykład 4 ( ) Przeciążanie operatorów.
Programowanie obiektowe
Marcin Piotrowski. Najpopularniejszymi darmowymi przeglądarkami są Internet Explorer, Opera, Mozilla Firefox, Google Chrome.
Programowanie obiektowe
Wzorce.
Wprowadzenie do języka skryptowego PHP – cz. 2
Tworzenie ASP.NET Web Form
Dokumentowanie wymagań w języku XML
Tworzenie stron w języku WML jest zbliżone do tworzenia stron w HTML. W obydwu przypadkach używa się do tego celu znaczników (tagów). Zadaniem znaczników.
Dropbox.
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Rozwój aplikacji przy wykorzystaniu ASP.NET
Rozwój aplikacji. To zestaw narzędzi do budowania i optymalizacji złożonych aplikacji opartych na przeglądarce. To zestaw narzędzi do budowania i optymalizacji.
Podstawy programowania. Język C i C++– podstawy Temat: 1
Podstawy programowania II
Generatory dokumentacji kodu źródłowego
© 2011 Autodesk AutoCAD LT ® 2013 Nowości Prowadzący Data Ilustracja dzięki uprzejmości Castro Mello Architects.
Tworzenie stron internetowych
Użytkowanie komputerów
ANNA BANIEWSKA SYLWIA FILUŚ
Microsoft PowerPoint Wprowadzenie.
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Podyplomowe Studium Programowania i Zastosowań Komputerów Marcin Hankiewicz.
Dysk fizyczny i logiczny
System raportowania, ewaluacji oraz badania satysfakcji Klienta.
Programowanie obiektowe – zastosowanie języka Java SE
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Java – coś na temat Klas Piotr Rosik
Inicjalizacja i sprzątanie
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
XML – eXtensible Markup Language
Robimy własne notatki - Notatnik
Temat 2: Edytory HTML.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Komendy SQL do pracy z tabelami i bazami
Wprowadzenie do HTML Informatyka Cele lekcji: Wiadomości:
Wprowadzenie do CSS Okiełznać style.
Aplikacje internetowe
Elementy multimedialne na stronie
XML Publisher Przedmiot i zakres szkolenia Przedmiot i zakres szkolenia Przeznaczenie XML Publisher Przeznaczenie XML Publisher Definiowanie Definiowanie.
HTML (ang. HyperText Markup Language ) – język do tworzenia stron internetowych opierający się na znacznikach, czy inaczej je nazywając – tagach. Język.
Kurs języka C++ – wykład 4 ( )
Temat 4: Klasy i identyfikatory
HTML Hyper Text Markup Language komputerowe Esperanto cz. I historia, struktura dokumentu.
Temat 1: CSS Dołączanie stylów do dokumentu
Podstawy języka skryptów
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Formatowanie dokumentów
Iga Lewandowska I EMII MU
PHP. PHP obiektowy, skryptowy język programowania zaprojektowany do generowania stron internetowych w czasie rzeczywistym.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
I TY ZOSTAŃ WEBMASTEREM! CZĘŚĆ 2 – „STRUKTURA STRONY” STWORZYŁ GABRIEL ŚLAWSKI.
Podstawy programowania
Informatyka – szkoła gimnazjalna – Scholaris - © DC Edukacja Tworzenie stron WWW w programie Microsoft FrontPage Informatyka.
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Tworzenie wykresów część I
Podstawy informatyki Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Microsoft® Office Word
T ESTY JEDNOSTKOWE W C# Alicja Majka, A GENDA Wprowadzenie do środowiska Czym są testy jednostkowe i po co je stosować? XUnit, NUnit Pokrycie.
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
T. 18. E Proces DGA - Działania (operatorka).
Programowanie Obiektowe – Wykład 2
Programowanie obiektowe – zastosowanie języka Java SE
Tworzenie stron WWW w programie Microsoft FrontPage
Aplikacje i usługi internetowe
Zapis prezentacji:

Tworzenie dokumentacji w systemie Doxygen Paweł Strużyński 25 maja 2011

Plan prezentacji O systemie Doxygen Podstawy Dokumentowanie kodu Przykład kodu skomentowanego dla systemu Doxygen Podsumowanie

O systemie Doxygen

Doxygen – co to jest ? Doxygen jest systemem dokumentowania oprogramowania pisanego w C++, C, Java, C# i wiele innych. System ten może generować dokumentację w HTML oraz źródła dla LATEX’a. Dokumentacja może mieć format RTF, PostScript, PDF, skompresowanego HTML oraz stron podręcznika w systemie UNIX dla programu man. Doxygen jest tworzony dla systemu Linux i Mac OS w oparciu o bibliotekę Qt. Oprogramowanie to jest przenośne. Może być uruchomione pod system UNIX i jego klonami. Dostępne jest również w postaci binarnej dla system MS Windows.

Skład Doxygen’a doxygen – program generujący dokumentację na podstawie utworzonego wcześniej pliku konfiguracyjnego i przeglądanych plików (źródeł programów i nie tylko). doxytag – program pomocniczy pozwalający ingerować zewnętrzną dokumentację (do której doxygen nie ma bezpośredniego dostępu) z dokumentacją tworzoną przez doxygen. doxywizard – graficzna aplikacja ułatwiająca tworzenie pliku konfiguracyjnego dla dokumentacji danego projektu. Komponenty stowarzyszone: graphviz – oprogramowanie wykorzystywane do tworzenia rysunków grafów.

Podstawy

Pierwsze kroki Wygenerowanie pliku konfiguracyjnego: # doxygen -g lub # doxygen -g twoj_plik Pierwsza opcja generuje plik o standardowej nazwie Doxyfile. Drugi wariant pozwala zdefiniować plik o zadanej przez nas nazwie. Generowanie dokumentacji: # doxygen nazwa_pliku - wygeneruje nam dokumentację zgodnie z konfiguracją określoną w pliku nazwa_pliku

Rozszerzone tworzenie dokumentacji: wersja HTML: doxygen -w html header.html footer.html stylesheet.css wersja LATEX: doxygen -w latex header.tex doxygen.sty

Rodzaje dokumentacji Dostępne rodzaje dokumentacji: HTML – dokumentacja w postaci stron HTML, do których przeglądania używamy przeglądarki internetowej, np. Mozilla Firefox lub Opera :-) Główny dokument to standardowo index.html. LATEX – dokumentacja w LATEX’u. Utworzona dokumentacja musi zostać jeszcze skompilowana przez LATEX’a, ale na szczęście Doxygen tworzy nam Makefile’a :-) RTF – w wyniku otrzymujemy plik rtf, który możemy otworzyć np. w MS Wordzie.

XML – otrzymujemy zbiór plików xml- owych. Plikiem głównym jest index.xml. MAN – znany z systemów unixowych plik manuala.

Dokumentowanie kodu

Komentarze blokowe Styl JavaDoc: /** *... text... */ Styl Qt: /*! *... text... */ Środkowe * są w obu przypadkach opcjonalne, więc wystarczy: /*!... text... */

Styl C++: /// ///... text... /// lub: //! //!... text... //! Dla podniesienia widoczności można zastosować: /////////////////////// ///... text... ///////////////////////

Znacznik \brief Znacznik \brief pozwala nam oddzielić część główną komentarza od części szczegółowej, oddzielonej linią odstępu: /*! \brief Brief description. * Brief description continued. * * Detailed description starts here. */

Opisywanie zmiennych Do opisu zmiennych również mamy kilka różnych styli. Oto przykłady: int var; /*!< zmienna */ int var; /**< zmienna */ int var; //*< zmienna */ int var; ///< zmienna */ int var; //!< zmienna int var; ///< zmienna

Inne znaczniki w dokumentacji Znaczniki w dokumentacji zaczynają się od znaku \ lub więc mamy wybór. Możemy zadokumentować np. klasę Test. W tym celu używamy znacznika \class i wygląda to następująco: /*! \class Test \brief A test class. A more detailed class description. */

Listy Możemy tworzyć listy co znacznie ułatwia przedstawienie czegoś w punktach. /*! * A list of events: * - mouse events * -# mouse move event * -# mouse click event\n * More info about the click event. * -# mouse double click event * - keyboard events * -# key down event * -# key up event * * More text here. */ Efekt działania na następnym slajdzie.

A list of events: mouse events 1. mouse move event 2. mouse click event More info about the click event. 3. mouse double click event keyboard events 1. key down event 2. key up event More text here.

Grupowanie Doxygen pozwala nam też łatwo grupować elementy składowe naszego kodu. Każda grupa będzie się znajdować na osobnej stronie. Elementami grupy mogą być pliki, klasy, przestrzenie nazw, zmienne, itd. Do zdefiniowania grupy służy komenda \defgroup, użyta w komentarzu blokowym. Pierwszym argumentem jest unikalna etykieta, identyfikująca grupę. Drugim argumentem jest nazwa bądź tytuł grupy, który będzie użyty w dokumentacji. Odnośnik do elementu grupy tworzymy przez \ingroup.

Zamiast \defgroup możemy użyć \addtogroup – zapobiegamy tym ewentualnej pomyłce definiując dwie grupy o identycznej nazwie. Dla tej komendy tytuł jest opcjonalny: /** \addtogroup */ Odwołanie do grupy następuje poprzez komendę \ref : This is the \ref group_label ’’link’’ to this group.

Wzory matematyczne Robiąc dokumentację w Doxygen możemy dodawać także wzory w LATEX’u - opcja ta działa kiedy jako output wybierzemy LATEX lub HTML.

Przykład kodu skomentowanego dla systemu Doxygen

/** * Front controller. * Główna klasa, kontrolująca wszelkie działania aplikacji. FrontController musi być uruchamiany jako pierwszy. */ class FrontController implements IController { private $config; /** * Kontruktor front controllera. void void */ public function __construct() { $this->config = ConfigurationManager::getInstance(); } public function run() {... }

Podsumowanie

Podsumowanie Doxygen: jest bardzo wygodnym narzędziem bardzo ułatwiającym tworzenie dokumentacji projektów. Korzystając z tego programu oszczędzamy sporo czasu. jest na pewno bardzo pomocny przy pracy w zespołach programistycznych. dzięki niemu tworzymy przejrzysty kod programów, czytelny również dla innych osób.

Dziękuję za uwagę Dziękuję za uwagę