Portál AbcLinuxu, 4. května 2025 10:02
Kdysi dávno jsem zde pokládal návrh na anketu Jaký používáte styl programování?
. Bohužel buďto zapadla, anebo obsahovala odkaz na příslušnou stránku wikipedie (odkazy v anketě tuším ničily layout stránky). Buď jak buď, anketa se nekonala.
Z již zmíněného dokumentu plyne, že se rozlišuje 5 hlavních stylů, přičemž poslední tři mi přijdou hodně obskurní . Jak jsem tak měl možnost vidět zdrojové kódy, tak převládá K&R a BSD styl odsazování, případně třetí varianta - náhodné odsazování.
Já osobně nejraději používám právě prvně jmenovaný, protože mi BSD styl přijde moc rozvláčný. Zde je příklad za všechny (musel jsem trochu přeformátovat, ztratil se mi prázdný řádek).
/* create a new empty operand */ rpcData* newData(void) { rpcData* aux = (rpcData*) malloc(sizeof(rpcData)); memset(aux, 0, sizeof(rpcData)); aux->references = 1; return aux; }
Tiskni
Sdílej:
case
. Tj. asi takto:
int foo(char* p) { int n = 0; while (*p) { switch(*p) { case '(': n++; break; case ')': n--; break; } p++; } return n; }
if ( ) { ... } else { ... }Pri velkych povazujem za vhodne patricne zdoraznit skoro prazdnym riadkom, kde ten if konci:
if ( ) { ... ... ... ... } else { ... ... ... ... }
Sice jsem sotva pára z programátorského ....., ale když už něco náhodou uplácám, pak jedině K&R. Jinak odsazuji, odsazuji, a znovu odsazuji všechno co se jenom odsadit dá a to vždy o dvě mezery. Kdo používá tabulátory je Barbar. S komentářema je to ale u mne bída. :~)
mood = (machine != slackware) ? depressed : euphoria;
int main(int argc, char** argv) { if(argc != 2) { // neco } else { while(1) { } .... switch(c) { case 1: .... break; default: .... } do { } while(1); for(int i = 1; i < 16; i++) { } } }
int ukazka() { if podminka then { udelej_tohle(); udelej_tamto(); } else { udelej_tudleto(); udelej_tamdleto(); } return(0); }
(0)
' je stejně korektní návratová hodnota funkce jako '0
'. Nebo tam klidně můžete napsat '(((0)))
' a bude to pořád totéž…
return (3, 2, 1, 0);
void fce( int cislo, char ** tt ) { if ( cislo >= 6 ) { do_neco( cislo, get_neco( tt ) ); } else { switch( cislo ) { case 'x': zajimave_cislo(); break; case 'a': zajimave_cislo( c ); break; } } }
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.