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.

  1. Založte nový projekt se třemi soubory – mainclass.cpp, class2D.cpp, class2D.h.

  2. Do projektu přidejte (prázdný) textový soubor docs.txt, ve kterém bude později dokumentace (autor, znění zadání....)

  3. 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.

  4. 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.

  5. 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í

  6. 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).

  7. 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.

  8. 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

*/

  1. Ve zdrojovém souboru vytvořte položku todo se stručným textem. (Přeložte a zkontrolujte výsledek).
    \todo xxx

  2. 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

*/

  1. 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).

  2. 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.

  3. 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).

  4. 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