/** ****************************************************************************** @file /common/_cpp.cpp @brief Vzor pro psani zdrojaku Tady muze byt HTML. Google
Autor tohoro zdrojaku @author Vajicek @version 0.1 ******************************************************************************/ #include "_cpp.h" /* tady musi byt namespace taky, protoze po preprocesoru dostane kompiler: ///header .h namespace neco{ struct mujtyp { }; extern void fnc1(); extern void fnc2(); } ///zdrojak .cpp //pokud tohle neuvedu nemuzu v lokalnich fncich pouzivat typy z headru bez prefixu using namespace neco; //neni to same jako neco::fnc1 void fnc1() { mujtyp a; } void fnc2() { fnc1(); //KTEROU MAM VOLAT? neco::fnc1(), nebo fnc1() } */ namespace test { /** C funkce - Implementacni detaily. Tato funkce pouziva standardni cckove knihovny. */ void moje_chytra_funkce(int p, int p2) { } /** C++ funkce 1 - Implementace obecny popis toho co ma funkce v rozhrani za ukol Tato funkce ma za ukol .. a pouziva algoritmus z adresy http://www.gamasutra.com/ @param p parametr jedna @param p2 parametr dve */ void MojeChytraFunkce(int p, int p2) { } /** Tato funkce je ještě chytřejší, než MojeChytraFunkce(). - v komentářích se z názvů funkcí (případě metod Trida::metoda()) automaticky stanou odkazy do dané části dokumentace. Explicitně je toho možné dosáhnout takto: @see moje_chytra_funkce() */ void MojeChytrejsiFunkce(int p, int p2) { } /** Porovná předané hodnoty Dodrzujete prosim mezery za carkami a jinymi operatory. @retval 1, je-li \c a větší než \c b @retval 0, jsou-li si parametry rovny @retval -1, je-li \c a menší než \c b */ int navratovaHodnota( int a, int b) { if (a > b) return 1; else if (a == b) return 0; else return -1; } /** Použití tabulátorů a mezer Používte-li Visual Studio, používejte Tab size : 2, Indent size: 2 a Insert spaces. V ostatních editorech podobné volby. Jsou tri styly zapisu zavoek: BSD: if (podminka) { prikaz; } GNU: if (podmninka) { prikaz; } K&R: if (podminka) { prikaz; } Drzel bych se stylu K&R. (PZ - tak na tohle seru, pouzivam BSD, K&R mi prijde nejmin prehledny z toho duvodu, ze jasne nevidis, kde ti zacina a konci blok, protoze zavorky nejsou nad sebou, snadno se to prehlidne, navic mi tohle prijde uz jako docela extremismus) (Vasek - souhlas, BSD nebo K&R podle libosti, to zas neni tak dulezity jako jmena metod, a komentaze pro doxygen. Dycky se to da prohnat GNU indentem. Ale ty indenty si prosim nastavte.) Bloky kódu by měly být tedy odsazeny jedním \t znakem (širokým jako 2 mezery), anebo dvěma mezerami. Složené závorky jsou u definic tříd a funkcí na novém řádku, u bloků kódu, cyklů a podmínek vždy na stejném. */ void tabulatory( ) { if (podminka) { přijde medvěd; z pole role; ruce má až dole; while ( ) { nic se mu nedaří; vše se mu zapaří; } } else { má-li ovšem tuto kouli; pak jen oči poulí. } } }//namespace /*****************************************************************************/