Dvě podmínky ve while

Kit

Re:Dve podminky ve while
« Odpověď #15 kdy: 28. 08. 2015, 17:49:05 »
Obojí funguje stene, závorky jsou tam zbytečně, proto nevidím jediný sebemenší důvod je tam používat, maximálně někdo může namítat čitelnost, ale mě osobně to příjde čitelnější bez zbytečných závorek...

Nevidím důvod pro používání složených výrazů v objektových jazycích - držím se SRP. Máš pravdu v tom, že závorky jsou pak zcela zbytečné.


pek

Re:Dvě podmínky ve while
« Odpověď #16 kdy: 30. 08. 2015, 16:44:55 »
To, jestli se musí nebo nemusí psát závorky je dáno v každém programovacím jazyce tabulkou priorit operátorů (operator precedence table, pro Python 2.7 zde https://docs.python.org/2/reference/expressions.html na konci stránky.) Operátory and a or jsou v tabulce výš, a tedy mají nižší prioritu, proto se nejprve vyhodnotí porovnání s vyšší prioritou a až pak "and" jak tazatel chce. Ve starších jazycích se ve stejné situaci závorky psát musí.

Kit

Re:Dvě podmínky ve while
« Odpověď #17 kdy: 30. 08. 2015, 17:22:29 »
Operátory and a or jsou v tabulce výš, a tedy mají nižší prioritu, proto se nejprve vyhodnotí porovnání s vyšší prioritou a až pak "and" jak tazatel chce.

To víme a přesto nám to nebrání závorky používat. Máš nějaký další argument, proč tam ty závorky nedávat?

snow

Re:Dvě podmínky ve while
« Odpověď #18 kdy: 30. 08. 2015, 17:38:32 »
Operátory and a or jsou v tabulce výš, a tedy mají nižší prioritu, proto se nejprve vyhodnotí porovnání s vyšší prioritou a až pak "and" jak tazatel chce.

To víme a přesto nám to nebrání závorky používat. Máš nějaký další argument, proč tam ty závorky nedávat?
no sou tam na nic a proc delat zbytecne veci? to myslim jako argument bohate staci...

Inkvizitor

Re:Dvě podmínky ve while
« Odpověď #19 kdy: 30. 08. 2015, 23:06:30 »
To víme a přesto nám to nebrání závorky používat. Máš nějaký další argument, proč tam ty závorky nedávat?
no sou tam na nic a proc delat zbytecne veci? to myslim jako argument bohate staci...

To platí až do doby, kdy narazíš na podmínku se složitějším výrazem od borce, který také sršel sebevědomím, ale nějak se mu ta logika rozjela a program vykazoval podivné chování. A pro člověka, který k tomu kódu přišel jako slepý k houslím a má to narychlo opravovat, je to úžasná radost. Vlastní zkušenost - taky Python.


Kit

Re:Dvě podmínky ve while
« Odpověď #20 kdy: 31. 08. 2015, 00:21:30 »
To víme a přesto nám to nebrání závorky používat. Máš nějaký další argument, proč tam ty závorky nedávat?
no sou tam na nic a proc delat zbytecne veci? to myslim jako argument bohate staci...

To platí až do doby, kdy narazíš na podmínku se složitějším výrazem od borce, který také sršel sebevědomím, ale nějak se mu ta logika rozjela a program vykazoval podivné chování. A pro člověka, který k tomu kódu přišel jako slepý k houslím a má to narychlo opravovat, je to úžasná radost. Vlastní zkušenost - taky Python.

Někteří lidé rádi vypustí dvojici závorek jenom proto, aby pak na dvou řádcích komentářů popisovali, co ta podmínka vlastně má znamenat.

Kit

Re:Dvě podmínky ve while
« Odpověď #21 kdy: 31. 08. 2015, 01:40:01 »
Operátory and a or jsou v tabulce výš, a tedy mají nižší prioritu, proto se nejprve vyhodnotí porovnání s vyšší prioritou a až pak "and" jak tazatel chce.

To víme a přesto nám to nebrání závorky používat. Máš nějaký další argument, proč tam ty závorky nedávat?
no sou tam na nic a proc delat zbytecne veci? to myslim jako argument bohate staci...


Komentáře jsou v programu také zbytečné a přesto je někteří programátoři píší. Proč, když nemají žádný vliv na běh programu?
Citace
Jsou nanic a proč dělat zbytečné věci? To myslím jako argument bohatě stačí...

Snow

Re:Dvě podmínky ve while
« Odpověď #22 kdy: 31. 08. 2015, 09:48:48 »
Operátory and a or jsou v tabulce výš, a tedy mají nižší prioritu, proto se nejprve vyhodnotí porovnání s vyšší prioritou a až pak "and" jak tazatel chce.

To víme a přesto nám to nebrání závorky používat. Máš nějaký další argument, proč tam ty závorky nedávat?
no sou tam na nic a proc delat zbytecne veci? to myslim jako argument bohate staci...

Komentáře jsou v programu také zbytečné a přesto je někteří programátoři píší. Proč, když nemají žádný vliv na běh programu?
Citace
Jsou nanic a proč dělat zbytečné věci? To myslím jako argument bohatě stačí...
Komentáře jsou pro pozdější editaci programu řekněme nutnost, platí i v případech kdy za rok po sobě potřebuješ něco předělat, závorky nikoliv. Ale jak píši je to o každém člověku, stejně tak jako někdo používá tabulátor, někdo mezery, nemá smysl rozebírat. Z mého pohledu to zbytečnost je, z tvého ne.

k

Re:Dve podminky ve while
« Odpověď #23 kdy: 31. 08. 2015, 10:08:01 »
Jenže autor se ptal ohledně pythonu, tedy bavíme se tady celou dobu o pythonu, kde závorky vyžadováné nejsou, proto je naprosto nesmyslné je tam psát, v tom je python právě krásný

Závorky se píší tehdy když výraz obsahuje více než jednu operaci a to v jakémkoliv jazyce na zeměkouli a má to tuto přidanou hodnotu:
1) Ví se jak to autor programu myslel
2) Složitější výrazy je prakticky nemožné udržet bez závorek bez chyby
3) Ví se rovnou bez hledání v nějakém manuálu jak se to bude vyhodnocovat

Kit

Re:Dvě podmínky ve while
« Odpověď #24 kdy: 31. 08. 2015, 10:12:48 »
Komentáře jsou pro pozdější editaci programu řekněme nutnost, platí i v případech kdy za rok po sobě potřebuješ něco předělat, závorky nikoliv. Ale jak píši je to o každém člověku, stejně tak jako někdo používá tabulátor, někdo mezery, nemá smysl rozebírat. Z mého pohledu to zbytečnost je, z tvého ne.

Pokud nepotřebuješ zbytečné závorky, nepotřebuješ ani zbytečné komentáře.

Velkým problémem komentářů je, že když opravíš program, musíš opravit i komentáře. Je to dvojí (a vcelku zbytečná) práce. Drtivá většina komentářů je totálně k ničemu. Komentáře pouze označují místa, kde programátor udělal chybu nebo ještě něco nedodělal.

k

Re:Dvě podmínky ve while
« Odpověď #25 kdy: 31. 08. 2015, 10:15:20 »
no sou tam na nic a proc delat zbytecne veci? to myslim jako argument bohate staci...

Kvůli přehlednosti, jako argument to bohatě stačí.
Existují projekty které se napíší a za tři měsíce vyhodí do stoupy, tam se tohle asi neocení.

Komentáře pouze označují místa, kde programátor udělal chybu nebo ještě něco nedodělal.

Normální komentáře označují místa, kde z kódu není jasně patrné o co jde nebo je tam nějaký nedořešený problém, tak si to programátor napsal do komentáře.
Psát komentář ke každému třetímu řádku zbytečnost je, to bezesporu.

gamer

Re:Dve podminky ve while
« Odpověď #26 kdy: 31. 08. 2015, 10:18:36 »
Závorky se píší tehdy když výraz obsahuje více než jednu operaci a to v jakémkoliv jazyce na zeměkouli a má to tuto přidanou hodnotu:
1) Ví se jak to autor programu myslel
2) Složitější výrazy je prakticky nemožné udržet bez závorek bez chyby
3) Ví se rovnou bez hledání v nějakém manuálu jak se to bude vyhodnocovat

Viděl jsi už někdy zdrojáky nějakého většího projektu? Asi ne, závorky nepíše prakticky nikdo. Když jsme na tom portálu o linuxu, podívej se na zdrojáky kernelu, závorky v podmínkách tam nejsou.

Hmmm

Re:Dve podminky ve while
« Odpověď #27 kdy: 31. 08. 2015, 10:28:59 »
Závorky se píší tehdy když výraz obsahuje více než jednu operaci a to v jakémkoliv jazyce na zeměkouli a má to tuto přidanou hodnotu:
1) Ví se jak to autor programu myslel
2) Složitější výrazy je prakticky nemožné udržet bez závorek bez chyby
3) Ví se rovnou bez hledání v nějakém manuálu jak se to bude vyhodnocovat

Viděl jsi už někdy zdrojáky nějakého většího projektu? Asi ne, závorky nepíše prakticky nikdo. Když jsme na tom portálu o linuxu, podívej se na zdrojáky kernelu, závorky v podmínkách tam nejsou.
Ja sa prave pozeram do zdrojaku vacsieho projektu a zatvorky tam su. Zdrojaky pise tim cca 10 - 12 ludi a kod je prehladny. Obsahuje komentare, aj zatvorky.

k

Re:Dve podminky ve while
« Odpověď #28 kdy: 31. 08. 2015, 10:48:03 »
Viděl jsi už někdy zdrojáky nějakého většího projektu?

Furt. Dál si tady můžete žvanit o zbytečnosti závorek, já to s vámi myslel dobře.

gamer

Re:Dve podminky ve while
« Odpověď #29 kdy: 31. 08. 2015, 10:51:12 »
Furt. Dál si tady můžete žvanit o zbytečnosti závorek, já to s vámi myslel dobře.

Jsi na špatném místě. Jdi do mailing listu kernelu a vysvětli vývojářům, že to dělají špatně, měli by podmínky závorkovat a myslíš to s nimi dobře.