Portál AbcLinuxu, 27. října 2025 10:20
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 {
...
...
...
...
}
) nevraviac o pythone
Nebo něco srovnatelné blbého.
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++) {
}
}
}
) – je to v podstatě K&R. Takže když napíšu kus kódu, dám Ctrl+S (uložit), Ctrl+Shift+S (seřadit), Ctrl+Shift+F (zformátovat) a Ctrl+F9 (spustit). Nevím, proč bych měl odsazovat já, když to za mě může udělat počítač
Problém je, když začnu psát do nějaké cizí OSS knihovny. Použiju své oblíbené klávesová zkratky, a pak si uvědomím, že autoři asi nebudou chtít patch, který ve funkčnosti přidává jen 2 řádky kódu, ale "bokem" změní pořadí metod a formátování celého dokumentu, takže se z diffu vůbec nepozná, co jsem vlastně změnil
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.