Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Ondra Satai Nekola

Stran: 1 ... 53 54 [55] 56 57 ... 177
811
Vývoj / Re:Recept na špagety - java vs. net
« kdy: 11. 10. 2017, 11:15:18 »
Škodu nadělá ten, kdo zhorší čitelnost kódu pro ostatní. Ať už jakýmkoliv způsobem. Čitelnost kódu má po každé úpravě minimálně zůstat, spíše se zlepšit. Není to žádná teorie, všichni vývojáři s tím bojují každý den.

Čitelnost je subjektivní metrika. Proto existují různé style guides, aby se lidé nemuseli hádat co je a co není čitelné. Lze automaticky kontrolovat i názvy proměnných, aby splňovaly určitá pravidla.

Délka kódu je objektivní metrika. Kratší kód by měl dostat přednost.

Že je něco objektivní znamená, že to umíš měřit. Ne že je to důležitější. (Tohle je jeden z nejtypičtějších omylů vůbec.)

812
Vývoj / Re:Recept na špagety - java vs. net
« kdy: 11. 10. 2017, 11:13:52 »
Vhodná jména jsou taková, která správně popisují, co daná metoda dělá. Samozřejmě co nejkratším způsobem, ale dostatečně.

Kód se má číst jako anglický příběh. Vychytávky a nečitelné optimalizace jsou fajn pro ego jejich autora, ale ne pro zdravý rozum jeho následovníků a dlouhodobou efektivitu investice majitele kódu.

Ego se dá honit i na abstrakcích a natahování kódu. Je otázka, kdo nadělá víc škody.

To se nedělá kvůli egu, ale protože po tobě může udržovat kód chlápek s motorovou pilou, co si zjistí tvou adresu...

Udělat kód co nejcitelnější je téměř vždy základní ohleduplnost k okolí.

813
Vývoj / Re:Recept na špagety - java vs. net
« kdy: 11. 10. 2017, 10:30:25 »
Abstrakce mají smysl až tam, kde se opakuje nějaký vzor. Často narážím na abstrakce, které jsou použity pouze jednou. To je plýtvání úsilím hlavně čtenářů toho kódu.

Zdaleka ne nutne. Pokud neco schovavaji pod dobrym jmenem, tak zjednodusi cteni tim, ze dotycneho odstini od detailu, ktere v dany okamzik nepotrebuje.

Vseho primerene, samozrejme.

814
Vývoj / Re:Recept na špagety - java vs. net
« kdy: 11. 10. 2017, 10:24:25 »
Přesně tak. Metody mají pořádné pojmenování, jejich lokální proměnné se nemíchají do ostatních (klasické zneužívání již nadefinovaných proměnných v různých částech kódu, kolik chyb už to způsobilo...), jednotlivé vrstvy abstrakce se od sebe krásně oddělí a zpřehlední, zpracování stejného z různých částí algoritmu řeší jen jeden kód v metodě. Základní jednoduché věci, ale bohužel stále ne vývojářský standard... Učí se to vůbec na školách?

Často člověk při takovém refaktoringu narazí i na logickou chybu, kterou v původních 4-úrovňových špagetách nebylo vidět.

Když se me takový kéd dostane pod ruku, dokážu ho zkrátit na cca 10-20% původní délky zrušením abstrakcí a zredukováním na jednu vrstvu. Dost mi to zjednodušší budoucí údržbu.

Ostatne proc by mely mit veci vhodna jmena, coz?

vhodná jména jsou krátká. Stačí nepoužívat hvězdičkové importy. Nemusí mít každá věc unikátní jméno.

Importy s tim nesouviseji. Minimalne na zacatku ten refaktoring povede na (typicky private nebo package private) metody ve stejne tride.

815
Vývoj / Re:Recept na špagety - java vs. net
« kdy: 11. 10. 2017, 10:06:39 »
Přesně tak. Metody mají pořádné pojmenování, jejich lokální proměnné se nemíchají do ostatních (klasické zneužívání již nadefinovaných proměnných v různých částech kódu, kolik chyb už to způsobilo...), jednotlivé vrstvy abstrakce se od sebe krásně oddělí a zpřehlední, zpracování stejného z různých částí algoritmu řeší jen jeden kód v metodě. Základní jednoduché věci, ale bohužel stále ne vývojářský standard... Učí se to vůbec na školách?

Často člověk při takovém refaktoringu narazí i na logickou chybu, kterou v původních 4-úrovňových špagetách nebylo vidět.

Když se me takový kéd dostane pod ruku, dokážu ho zkrátit na cca 10-20% původní délky zrušením abstrakcí a zredukováním na jednu vrstvu. Dost mi to zjednodušší budoucí údržbu.

Ostatne proc by mely mit veci vhodna jmena, coz?

816
Vývoj / Re:Recept na špagety - java vs. net
« kdy: 10. 10. 2017, 18:34:32 »
takze ako nahradit napr. 4 vnorene ify?

Záleží na okolnostech. Často je řešení refaktoring, kdy vnitřky extrahuješ do samostatných (obvykle privátních) metod. Což tě donutí je pojmenovat. A to tě zase donutí těm kusům případně nějaký jasný význam.

817
O serveru Root.cz / Re:Jak funguje reklama na webu?
« kdy: 10. 10. 2017, 17:53:24 »
Je zajímavé, že reklamy na komunisty vadí, ale reklamy na glami sekce dámské plavky nikoliv (odkaz reklamní byl přímo v tématu)
https://www.glami.cz/jednodilne-plavky/?highlight=18827291&gclid=CPPwx8OZ5tYCFYO37QodIi8ERw
Oboje má s IT tématikou velmi málo společného.....

Protoze plavky te nezavrou do konentraku?

818
Vývoj / Re:Recept na špagety - java vs. net
« kdy: 10. 10. 2017, 17:52:13 »
Tak jeste jinak:

Kód: [Vybrat]
if (a) {
    x = y;
}

je nejspis problem.

Obdoby
Kód: [Vybrat]
if (a) {
    return foo;
} else {
    return bar;
}
maji vetsi sanci byt OK.

To neni o nejakych otazniccich vs klicovych slovech ale o vysledne semantice a sideefectech. A je to jinak, nez pises - prave absence else je jedno z mnoha varovani.

819
Vývoj / Re:Recept na špagety - java vs. net
« kdy: 10. 10. 2017, 17:32:00 »
Ke špagetovému kódu vede používání else (ve smyslu řídící struktury) a víc než 4 úrovně zanoření zdrojového kódu. V tom si zmíněné jazyky nemají co vyčítat, záleží spíš na autorovi kódu.

Strukturované else je zcela postradatelnou komponentou - některé jazyky ji vůbec nemají a nechybí jim.

Prave naopak. Viz jazyky, kde je if then else vyraz.

If bez else ma tendenci vest k tomu, ze kod pouziva sideeffecty.

Proto jsem psal "strukturované else", aby zase nějaký chytrák nevyrukoval s else, které je součástí výrazu.

Tak si nejdriv ujasni pojmy. I else jako soucast vyrazu je "strukturovane".

820
Vývoj / Re:Recept na špagety - java vs. net
« kdy: 10. 10. 2017, 16:46:43 »
Ke špagetovému kódu vede používání else (ve smyslu řídící struktury) a víc než 4 úrovně zanoření zdrojového kódu. V tom si zmíněné jazyky nemají co vyčítat, záleží spíš na autorovi kódu.

Strukturované else je zcela postradatelnou komponentou - některé jazyky ji vůbec nemají a nechybí jim.

Prave naopak. Viz jazyky, kde je if then else vyraz.

If bez else ma tendenci vest k tomu, ze kod pouziva sideeffecty.

821
Retardu je tady vic, ještě Nekola.  Taková skupina podvraťáků co nejsou schopni prispet necim přínosným, jen nějakým vykrikem.

<3

822
Jasne, zenska s tebou do konfliktu nepude, na to nema koule, takze z tohoto pohledu skutecne mixovane skupiny nemaji tolik tenze ve vnitrnich procesech.

Na druhou stranu, nevidim jediny dovud uz dostatecne privilegovanym zenam odmetat z cesty veskere smeti ktere proste chlap musi projit chte nechte. Chces do IT? Prodri se tam jako vsichni ostatni.
Komouske projekty jako czechitas jsou odporne.

Timto to zacne, a importem africanu to skonci. Respektive. Skoncilo.

Neblábol.

823
Proste neni velky rozdil jestli resis prasokod nebo hezky kod, to jsou jen nepodlozene povery ze hezky kod je lepsi.

o'rly?

824
Elegantni reseni - QubesOS.
Crude reseni - ocesany browser pod jinym uzivateletem.

Urcite tak ci onak 2FA, minimalne SMSky, pokud banka umi "kalkulacku", tak tu.

825
Neblábol.

Stran: 1 ... 53 54 [55] 56 57 ... 177