Pole jako třída – dokumentace projektu
Napište program pro dynamické 2D pole jako třídu (Začněte psát od čistého projektu s prázdnými zdrojovými soubory. Třídu pojmenujte CPole. Postupně kopírujte části kódu, který se hodí a přizpůsobte ho objektovému programování). Pro zdrojové texty napište dokumentaci/okomentujte pro zpracování programem Doxygen.
Pro inspiraci projekt CXItem, kde se můžete inspirovat (denní studium má v svn).
Pozn.: Při (výukové) práci je nutné (s doxygen) postupovat opatrně po menších krocích - zapíši příkaz, přeložím, podívám se na výsledek.
Založte nový projekt se třemi soubory – mainclass.cpp, class2D.cpp, class2D.h.
Do projektu přidejte (prázdný) textový soubor docs.txt, ve kterém bude později dokumentace (autor, znění zadání....)
V adresáři, ve kterém jsou zdrojové soubory projektu vygenerujte pomocí příkazu "doxygen -g doxyfile_i" implicitní konfigurační soubor doxyfile_i.
Srovnejte rozdíly mezi tímto souborem a předchystaným souborem doxyfile z přiloženého projektu CXItem. Pomocí komentářů před změněnou položkou zjistěte o jakou změnu se jedná a jaký je její důsledek. Porovnání je možné například v programu servant salamandr v menu pluginy v položce porovnání souborů.
Jedna ze změněných položek nastavuje přípony zpracovávaných souborů – zde je nutné zapsat *.txt *.cpp a *.h (popřípadě dašlí soubory obsahující dokumentaci)
V konfiguračním souboru je také název titulní stránky projektu – pojmenujte ho „Projekt PPC“.
Pozn.: pokud nemá doxygen uveden název souboru, se kterým má pracovat, volí implicitně název doxyfile. Proto nebude používat doxyfile_i, nebude-li výslovně uveden ve volání doxygen.
Proveďte úvodní "překlad" pro vytvoření dokumentace pomocí volání doxygen (nebo doxygen doxyfile_i a prostudujte výsledky). Při překladu si všímejte protokolu o překladu, zvláště pak chyb a warningů. Vznikne adresář html, kde jsou soubory dokumentace. Zde otevřete v prohlížeči soubor index.html. Prostudujte co vše je vygenerováno, aniž by byl ve zdrojových kódech použit příkaz pro doxygen.
Program Doxygen zpracovává jemu určené komentáře – tj.
komentáře začánající „/**“ nebo „///“.
Uvnitř takto označených bloků můžeme označit texty pro dokumentaci
pomocí příkazů.
Některé používané zkratky pro formátování
dokumentace Doxygen:
\n nový řádek
\c následující slovo je
courier
\b následující slovo je bold
__ text text__ text mezi
dvojicí dvojitých podtržítek je celý bold
\li odrážky
#, ##,
### nadpisy různých úrovní
V rámci tohoto bodu se pracuje s docs.txt souborem, který bude tvořit úvodní stránku dokumentace, kde vygeneruje hlavička a zadání - tento soubor bude "český" - v konfiguračním souboru je, že se bude používat UTF-8, proto je nutné tento soubor uložit též v UTF-8 (volba při save as). Program doxygen standardně pracuje se zdrojovými soubory, které prohlíží automaticky. Soubory txt standardně neprohlíží, proto je nutné prohlížené koncovky uvést v konfiguračním souboru doxyfile v položce FILE_PATTERN.
Následují jednotlivé kroky úpravy souboru docs.txt:
V txt souboru nastavte příznak, že se jedná o hlavní stránku. I v txt je nutné uvést znaky komentářů takovým způsobem, aby program doxygen věděl, že je má zpracovat. Napište i krátký text, podle kterého poznáte, že se z ní hlavní stránka stala. (Přeložte a zkontrolujte výsledek).
/**
\mainpage xxx
xxx
*/
V txt napište úvodní tabulku, ve které bude jméno autora, název projektu, datum vytvoření. V hlavičce tabulky bude text o jakou položku se jedná, v prvním řádku tabulky bude příslušná hodnota (tj. jméno název datum a druhý řádek Pepa 2Dpole 10.10.2011). (Přeložte a zkontrolujte výsledek).
| nadpis | nadpis |
| --- | --- |
| polozka : | text |
| polozka : | text |
V txt dále napište nadpis, že se jedná o úkol ve cvičeních.
(Přeložte a zkontrolujte výsledek).
##Nadpis
Do txt dále zkopírujte toto zadání (stačí část – např. první tři body) - název dejte jako druhou úroveň. Zpracujte zadání do přijatelné grafické podoby (odrážky, číslování …) (Přeložte a zkontrolujte výsledek).
Ve zdrojových souborech doporučujeme psát "cesky" - česky bez diakritiky. Při vytváření dokumentace preferujte psaní dokumentace k jedné proměnné na jednom místě - převážně v hlavičkovém souboru.
Napište dokumentační data ke zdrojovým souborům projektu. Uveďte položky: autor, … (Přeložte a zkontrolujte výsledek).
/** \file xxx
* \brief xxx
* \details xxx
* \author xxx
*/
Ve zdrojovém souboru vytvořte položku todo se stručným
textem. (Přeložte a zkontrolujte výsledek).
\todo
xxx
Okomentujte pro dokumentaci hlavičku funkce main: vstupní a
výstupní parametry, popište činnost jednou větou a podrobně.
(Přeložte a zkontrolujte výsledek).
/**
\brief xxx
* \details xxx.
* \param[in] xxx
*
\param[in] xxx
* \return xxx
* \note xxx
* \attention xxx
*/
Nadefinujte třídu CMatrix (zatím prázdné tělo) a okomentujte ji (\brief a \details). V main vytvořte proměnnou typu CMatrix a ukazatel na proměnnou typu CMatrix. Ukazatel nainicializujte pomocí vytvořené proměnné. (Přeložte zdroje i dokumentaci a zkontrolujte výsledek).
Ve třídě nadefinujte privátní proměnné pro rozměry a data matice: iX, iY, iData. Proměnnou iData prozačátek můžete nadefinovat jako statické pole typu double iData[10][10] (při tvorbě konstruktorů bude předěláno na dynamické).
Okomentujte pro dokumentaci proměnné/atributy třídy (int prom; ///< xxx). (Přeložte zdroje i dokumentaci a zkontrolujte výsledek). Zkuste k vytvořeným atributům třídy přistoupit pomocí proměnné a ukazatele ve funkci main.
Ve třídě nadefinujte metodu Set ( x,y,hodnota), která nastaví prvek na dané pozici v poli. V případě pokusu o zápis mimo pole vygenerujte výjimku. Metodu použijte ve funkci main pomocí proměnné i ukazatele. Komentář je stejný jako u main, v attention bude upozornění na výjimku. (Přeložte zdroje i dokumentaci a zkontrolujte výsledek).
Ve třídě nadefinujte metodu Get ( x,y), která vrátí hodnotu na dané pozici v poli. V případě pokusu o čtení mimo pole vygenerujte výjimku. Metodu použijte ve funkci main pomocí proměnné i ukazatele. Komentář je stejný jako u main, v attention bude upozornění na výjimku.(Přeložte zdroje i dokumentaci a zkontrolujte výsledek).
Poslední úpravy 2014-11-22