Portál AbcLinuxu, 23. října 2026 02:19
Když jsem se učil z knížek programovat, autoři ve vztahu k syntaxi většinou říkali, aby si programátor zvolil svůj styl a toho se pak držel. Programovací jazyky však dovolují nejen styl syntaxe, ale i styl programování. Existují však konvence anebo doporučení, jak programovat v tom či onom jazyce.
Nejsem profesionální programátor, ale zajímalo by mě, jestli se těchto doporučení držíte, anebo máte raději (i kromě těchto doporučení) nějakou volnost a svobodu rozhodnout se, jak budete programovat. Zajímá mě praxe jak freelancerů, tak profesionálů v týmu malém i velkém.
zajímalo by mě, jestli se těchto doporučení držíte,Hlavne jedného: KISS
Каždý projekt má nejaký štýl, ktorý by sa mal dodržiavať, aby bol kód čitateľnejší.
napr. https://github.com/mixxxdj/mixxx/wiki/Coding%20Guidelines
@njit) autor použil třídu s __init__, __iter__, __next__... Hnůj. A co přišlo v posledních dvou letech, je ještě větší hrůza (ne kvůli vývoji samotného Pythonu, ale kvůli Java evangelistům, kteří chtějí, aby lidé psali kódy podle jejich mustru).
Napriklad:
a++ vs. a += 1
nebo:
pseudokód:
void getJmeno()
{
String jmeno = ""
while(true)
{
jmeno = input("Zadej sve jmeno: ");
if (jmeno)
{
break;
}
}
printf("Ahoj %s", jmeno);
}
vs.
void getJmeno()
{
String jmeno = "";
while((jmeno = input("Zadej sve jmeno: ")) == "")
;
printf("Ahoj %s", jmeno);
}
do .. while
Napriklad: a++ vs. a += 1To neni stejne..
int a = 0; int b; b = a + 1 b: 1 b = a++ b: 0Tedy, neni to to same a nemuzes to pouzit podle libosti.
Vím, že bys mohl dát příklad s: a += 1 namísto a + 1 ale chci se zeptat, jestli máš rád dělat různé věci různými způsoby. Tedy jazyk, který tě nenutí udělat věc jen jedním správným způsobem. Příklad nemám, ale jistě bys ho sám našel.Jsi člověk nebo bot?
a = a + 1; a += 1; a++;Druhý je zkrácenou verzí prvního, třetí je zkrácenou verzí prvního. Někdy se využívá jeho vedlejšího efektu, ale pak to zhoršuje čitelnost.
Napriklad:
a++ vs. a += 1
nebo:
pseudokód:
void getJmeno()
{
String jmeno = ""
while(true)
{
......
}
printf("Ahoj %s", jmeno);
}
vs.
void getJmeno()
{
String jmeno = "";
while((jmeno = input("Zadej sve jmeno: ")) == "")
;
printf("Ahoj %s", jmeno);
}
Všechny zdravím.
Zkusil jsem, co udělá s prvním příkladem kompilátor. Vyrobil jsem prográmek v C
int pricti_1(int a)
{
a++;
return a;
}
a přeložil ho do assembleru, pak jsem inkrementaci nahradil ++a, následně jsem použil a+=1 a nakonec a=a+1. Ve všech čtyřech případech jsem dostal stejný výsledek. Samozřejmě, že kdybych použil nějaká přiřazení jako b=a++ a b=++a, musel by tam být rozdíl, jak píše pan X.
Co se týče podmínky v cyklu, to asi záleží na vkusu. while(true) nemám vůbec rád a ta dlouhá podmínka s přiřazením u druhého příkladu se mi taky nelíbí, nemám složité podmínky rád, ale někdy to jinak nejde nebo je to ještě složitější. Ale jak říkám, je to asi věc vkusu.
Jirka
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.