
Se dívím, že si ty softvéry ještě někdo kupuje....
Pár veselých konstrukcí, co jsem našel ve zdrojácích v práci... Jedná se o Javu.
if (connection != null) {
logger.error("Connection is null");
}
connection.sendMessage(msg);
/*
* @return true kdyz je driver aktualne pripojen
*/
public boolean isConnected() {
if (status.equals(Status.CONNECTED)) {
return true;
} else {
return false;
}
}
num2 = (Double.parseDouble(str2) * 1) / 60;
Ten první je asi nejlepší...
Už vím, jaká kategorie mi tady na Poradně chybí. "Nevím, o čem se to baví"
Usersky nastavitelná, sypal bych tam všechny tyhle dotazy.
Já jsem na tom podobně, i když ten první jsem pochopil (ačkoliv o programování skoro nic nevím, jen kdysi na střední škole do nás neúspěšně cpali Pascal).
Jako u toho prvního mě fakt zaráží, že to nikoho nesralo...
Pokud connection není null, tak zapiš do logu, že connection je null. Navíc zpráva se posílá, ikdyž je connection null, což je hovadina, protože není žádné spojení...
No dyť jo!
To vysvětlení bylo pro ostatní...
Nejsou to třeba jen nějaké upravené verze zdrojáků kvůli ladění?
Já když při ladění nemůžu najít chybu, tak už taky kolikrát přehazuju logiku výrazů, abych si vůbec ověřil, že to překladač bere na vědomí.
Nejsou, je to z ostré verze...
Njn, něco ty naše hypermoderní čtyřjádra dělat musí...![]:)](https://static.poradna.net/images/smiley/evilsmile.gif)
I když se přiznám, že funguju podobně - pokud program funguje, má dobrou rychlost a žádné bugy, tak další čistky a optimalizace už většinou nedělám.
Aneb když se procesor nudí, proč mu nepřidat další porovnání...
Někdo chtěl zamachrovat, že zná doublecheck locking pattern, ale nevyšlo...
Tahle konstrukce je taky veselá:
Musím se trochu zastat autorů toho kódu. Sám čas od času programuju v mikroPascalu nebo trošku v ASM jednočipové řadiče a tam jde především o velikost vygenerovaného HEX. Takže než na dvou místech v programu nastavit vteřinové zpoždění jedním příkazem Delay_ms (1000);, tak je úspornější udělat proceduru s tímto jedním příkazem a tuto proceduru pak z těch dvou inkriminovaných mist zavolat. Čím delší to zpoždění je, tím víc bajtů člověk ušetří.
Nebo např. násobná podmínka CASE - velmi elegantní na zápis, ale spotřebuje po zkompilování víc bajtů, než když to celé stupidně rozepíšu do podmínek IF..THEN.
Když má člověk k dispozici třeba jen 512B ROM, tak se musí pěkně ohánět, aby tam nacpal všechno.
Tím vším chci říct, že častokrát autor použitím na pohled divného kódu sleduje hlubší význam.
Což ale není případ ani jednoho kusu kódu uvedeného zde. To, co tady uvádím, jsou nesmysly. Žádný hlubší význam nemají. Navíc, jde o desktopové aplikace, ne o programy pro jednočipy...
ak su to implementacie interfacu alebo nejakej abstraktnej triedy,
pripadne overidnutie metody zo superclassy, tak je to uplne
legitimny validny spravny opodstatneny kod...
Ano, v tomhle případě by takto být mohlo... S tím souhlasím.
Jak byste reagovali na tento požadavek:
Tento požadavek byl přednesen kolegovi, který to nevydržel a vyprsknul smíchy. Já bych určitě reagoval stejně...
A přitom není nic lehčího, ne?
Kdysii byla série obrázků o vývoji SW. Co bylo zadáno, co chtěl zadavatel, jak to pochopil programátor, jak to prezentovalo obchodní oddělení, co dostal zákazník. Bylo to se stromem a houpačkou.
Pavel
myslis toto?
[img=/file/view/2354-obrazok1-jpg]http://pc.poradna.net/file/view/2354-obrazok1-jpg[/img]
To mám doma na zdi...
Dovolil bych se zastat toho třetího kódu.
Možná tomu bylo tak, že v původním kódu násobil něčím jiným než jedničkou . Pak mu přišlo, že jde o blbost, ale pro jistotu kód nechal takhle, kdyby jej potřeboval dále měnit.
Já osobně mám v celé řadě svých ( ostrých ) výtvorů celé bloky typu
if ( false ) { ...................... }
Co kdybych ten vnitřek potřeboval někdy vrátit (klient by si vzpomněl) ?
Jako že to potřebovat na 99% nebudu.
H.
Není lepší takové kusy kódu raději zakomentovat? Než mít nesmyslné bloky if (false)...
Ale to víš, že je to lepší.
Ale třeba někdy holt takto člověk nějaký blok odstaví , aby rychle zareagoval, s tím, že se pak k tomu vrátí . A houby se vrátí.
Já tím chtěl jenom říct, že kdybych Ti poslal svoje výtvory, jistě bys tam podobných hovadin našel do aleluja.
Až budu mít trošku času, něco vyberu ...
H.
Najlepšie je také kusy kódu vymazať - kto sa v tom bude vyznať, keď bude za rok polovica programu vykomentovaná. O to, aby sa k tomu bolo možné vrátiť, sa stará systém na správu verzií.
Kým sú tie WTF-kódy ešte také krátke, tak sa na tom ešte dá pobaviť
. Keď zaberajú niekoľko strán alebo celých knižníc, tak je to dosť demotivujúce.
no hej, len niekedy urobis v jednej veci zmenu a spravis novu verziu. Nasledne novu zmenu niekde inde a mas dalsiu verziu. Tu prvu zmenu chces ale vratit spat pricom druhu zmenu chces nechat zachovanu. V tom pripade ti navrat k predoslej verzii nepomoze.
Nemusíš sa vrátiť k predchádzajúcej verzii - pozrieš sa do toho systému pre riadenie verzií, že ako to vyzeralo predtým, skopíruješ to odtiaľ a hotovo.
Tady už přestává veškerá legrace...
<joke>No co, tak někdo si nedal práci s krácením zlomků
.</joke>
to je opravdu na přesdržku, zvláště u "profi projektů"
I tak se dá:
Hernajs, MaSo, neexhumuj... (mif)
To mám zakládat kvůli každé hovadiny nové vlákno? Měl jsem potřebu se projevit, tak jsem to dal sem, kam to patří...