Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 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ší...:-D

loading...
Předmět Autor Datum
Potkají se dvě křivky a ta jedna povídá: "Já tě zderivuju, že se nepoznáš!" Ta druhá na to: "He, he,…
Pytlík 08.06.2009 15:03
Pytlík
A derivace se nasrala a zderivovala chudáčka e-na-ikstou podle ypsilonu...:-P
MaSo 08.06.2009 15:10
MaSo
Už vím, jaká kategorie mi tady na Poradně chybí. "Nevím, o čem se to baví" Usersky nastavitelná, syp…
Zarniwúp 08.06.2009 15:19
Zarniwúp
Tak ten poslední, snad pochopí každý, že je to totalní blbost...:-) Proč něco násobit jedničkou? :-D
MaSo 08.06.2009 15:20
MaSo
Velmi mě přeceňuješ. :-)
Zarniwúp 08.06.2009 15:22
Zarniwúp
Proč něco násobit jedničkou? :-D Vážně nevíš? Tak se místo toho smíchu ještě něco přiuč...
host 08.06.2009 19:10
host
V Javě opravdu nevím...
MaSo 08.06.2009 19:11
MaSo
Nejsem Javista, ale v jiných jazycích se to používá např. k přetypování proměnné (string -> integer)…
host 08.06.2009 19:15
host
Takové prasárny v normálních jazycích nejdou...:-P Javě se to dělá přes Integer.parseInt(řetězec).…
MaSo 08.06.2009 19:17
MaSo
Ale v tom priklade uz to v tom riadku je skonvertovane na double (co myslis ze robi ten zvysok riadk…
MM.. 08.06.2009 19:28
MM..
Jedničkou? Já myslel, že je to malý L :-D
mia 08.06.2009 19:22
mia
To je ten problém - jak rozlišit od sebe v textu velké i, malé L a jedničku. Případně ještě svislou…
Yarda 23.06.2009 07:16
Yarda
Já jsem na tom podobně, i když ten první jsem pochopil (ačkoliv o programování skoro nic nevím, jen…
Prasak 08.06.2009 16:01
Prasak
Jako u toho prvního mě fakt zaráží, že to nikoho nesralo...:-) Pokud connection není null, tak zapi…
MaSo 08.06.2009 16:06
MaSo
i když ten první jsem pochopil No dyť jo!…
Prasak 08.06.2009 16:13
Prasak
To vysvětlení bylo pro ostatní...;-)
MaSo 08.06.2009 16:14
MaSo
To bylo pro mě. :-) No, budu si už pamatovat, co znamená "!=". A má to pro mě ještě jednu informaci.…
Zarniwúp 08.06.2009 16:57
Zarniwúp
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 chy…
Moas 26.11.2009 12:31
Moas
Nejsou, je to z ostré verze...:-)
MaSo 26.11.2009 12:33
MaSo
Njn, něco ty naše hypermoderní čtyřjádra dělat musí... ]:) I když se přiznám, že funguju podobně -…
Moas 26.11.2009 13:05
Moas
Na thedailywtf.com je podobnych prikladov plno.
x22 08.06.2009 15:27
x22
No to jeste nic neni, ale uz jsem videl dokonce delit i nulou :-D
virus 08.06.2009 16:31
virus
To jo a co víc, Chuckovi N. to vyšlo :-D
josephino 23.06.2009 08:06
josephino
Mozno je to uz bradaty internetovy vtip, ale mozete si skusit do google napisat (bez uvodzoviek) "fi…
2laak 23.06.2009 08:41
2laak
Se dívím, že si ty softvéry ještě někdo kupuje... Já si softvér nekoupil, ani nepamatuju. Jestli js…
vlk56 08.06.2009 17:01
vlk56
Ja som mal (už nie je) takého kolegu, to sú ľudia čo si myslia že vedia programovať... NO COMMENT
Len tak 08.06.2009 18:02
Len tak
heh, nie je to sice Java, ale nasiel som v praci nieco taketo: CREATE PROCEDURE UPPER_CASE @STRING1…
wam_Spider007 08.06.2009 18:41
wam_Spider007
Není to přesně tak popsaný v nápovědě ?:-D
MM_tank 22.06.2009 14:56
MM_tank
to neviem :-D ale ak ano, tak sa tym pravdepodobne dotycny tvorca inspiroval
wam_Spider007 25.06.2009 09:07
wam_Spider007
Perlička z dnešního dne: public boolean isOnline(){ return false; } Taky jsem objevil abstraktní…
MaSo 22.06.2009 14:35
MaSo
Tomu se říká totálně abstraktní třída.
Wikan 22.06.2009 15:05
Wikan
Achjo...:-/ public JFrame getMainFrame() { return null; }
MaSo 25.06.2009 08:48
MaSo
public void setLokalizace(Coordinates coordinates) { if(coordinates != null) { panel.setCoordinates(…
MaSo 23.07.2009 14:29
MaSo
private static Holder instance; public synchronized static Holder getInstance() { if (instance == nu…
MaSo 26.11.2009 09:57
MaSo
Musím se trochu zastat autorů toho kódu. Sám čas od času programuju v mikroPascalu nebo trošku v ASM…
Moas 26.11.2009 11:50
Moas
Tím vším chci říct, že častokrát autor použitím na pohled divného kódu sleduje hlubší význam. Což a…
MaSo 26.11.2009 12:16
MaSo
public boolean isOnline(){ return false; } public JFrame getMainFrame() { return null; } ak su to i…
emem 26.11.2009 12:50
emem
Ano, v tomhle případě by takto být mohlo... S tím souhlasím.
MaSo 26.11.2009 12:57
MaSo
Jak byste reagovali na tento požadavek: "Aplikace bude mít tlačítko, které ji přenese z pozadí do p…
MaSo 27.11.2009 10:50
MaSo
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…
Pavel 27.11.2009 11:04
Pavel
myslis toto? :-) [img=/file/view/2354-obrazok1-jpg]http://pc.poradna.net/file/view/2354-obrazok1-jp…
wam_Spider007 27.11.2009 11:23
wam_Spider007
To mám doma na zdi...:-)
MaSo 27.11.2009 12:03
MaSo
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ý…
hynajs 27.11.2009 11:40
hynajs
Co kdybych ten vnitřek potřeboval někdy vrátit (klient by si vzpomněl) ? Není lepší takové kusy kó…
MaSo 27.11.2009 12:04
MaSo
Ale to víš, že je to lepší. Ale třeba někdy holt takto člověk nějaký blok odstaví , aby rychle zarea…
hynajs 27.11.2009 12:14
hynajs
Najlepšie je také kusy kódu vymazať - kto sa v tom bude vyznať, keď bude za rok polovica programu vy…
los 28.11.2009 00:30
los
no hej, len niekedy urobis v jednej veci zmenu a spravis novu verziu. Nasledne novu zmenu niekde ind…
wam_Spider007 02.12.2009 19:54
wam_Spider007
Nemusíš sa vrátiť k predchádzajúcej verzii - pozrieš sa do toho systému pre riadenie verzií, že ako…
los 02.12.2009 19:58
los
Tady už přestává veškerá legrace... int c = (a * b) / a;
MaSo 01.12.2009 12:15
MaSo
<joke>No co, tak někdo si nedal práci s krácením zlomků :-).</joke> to je opravdu na přesdržku, zvl…
marekdrtic 02.12.2009 19:58
marekdrtic
I tak se dá: int[] a = new int[1000]; try { for (int i=0; ; i++) { // No range check. a[i] = i; } }…
MaSo 30.01.2010 14:03
MaSo
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,… poslední
MaSo 30.01.2010 14:19
MaSo

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í...:-)

To bylo pro mě. :-)
No, budu si už pamatovat, co znamená "!=".
A má to pro mě ještě jednu informaci. Potvrdilo se mi, že na to, aby se člověk mohl něčím živit, nemusí myslet. Stačí, když se nabifluje, logika jde stranou. Ale to je ve všech oborech....:-)

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í.

Njn, něco ty naše hypermoderní čtyřjádra dělat musí... ]:)

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.:-[

heh, nie je to sice Java, ale nasiel som v praci nieco taketo:

CREATE PROCEDURE UPPER_CASE
@STRING1 NVARCHAR(50),
@STRING2 NVARCHAR(50) OUTPUT
AS

BEGIN

SET @STRING2 = UPPER(@STRING1)

END

//nechapem naco niekto robi zlvast proceduru, ktora zobere retazec z premennej, zmeni pismena na velke a hodi do druhej premennej, ktora je vystupna

pritom staci

SET @STRING1 = UPPER(@STRING1)

//a nepotrebujem ani zvlast proceduru

Perlička z dnešního dne:

public boolean isOnline(){
   return false;
}

Taky jsem objevil abstraktní třídu, která má úplně prázdné tělo, ale pár jiných tříd z ní dědí...:-)

public void setLokalizace(Coordinates coordinates) {
  if(coordinates != null) {
   panel.setCoordinates(coordinates);
  } else {
   panel.setCoordinates(null);
  }
 }

Aneb když se procesor nudí, proč mu nepřidat další porovnání...:-)

private static Holder instance;

public synchronized static Holder getInstance() {
  if (instance == null) {
   synchronized (Holder.class) {
    if (instance == null) {
     instance = new Holder();
    }
   }
  }

  return instance;
 }

Někdo chtěl zamachrovat, že zná doublecheck locking pattern, ale nevyšlo...:-)

Tahle konstrukce je taky veselá:

...
if (neco) {
        doSomething1();
}else if (false){
        doSomething2();
}
...

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.

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...;-)

public boolean isOnline(){
   return false;
}

public JFrame getMainFrame() {
  return null;
}

ak su to implementacie interfacu alebo nejakej abstraktnej triedy,
pripadne overidnutie metody zo superclassy, tak je to uplne
legitimny validny spravny opodstatneny kod...

Jak byste reagovali na tento požadavek:

"Aplikace bude mít tlačítko, které ji přenese z pozadí do popředí, tedy před všechny ostatní okna."

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

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.

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. :-)

I tak se dá:

int[] a = new int[1000];
try {
     for (int i=0; ; i++) { // No range check.
     a[i] = i;
    }
} catch (ArrayIndexOutOfBoundsException e) {
   // do something cool
}

Hernajs, MaSo, neexhumuj... (mif)

Zpět do poradny Odpovědět na původní otázku Nahoru

loading...