/**
******************************************************************************
@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
/*****************************************************************************/