Daily Curious Perversion of Programming #9

 ( Chain-Q | 2009. július 21., kedd - 13:22 )

Na, ez a vicces konstansok napja úgy látszik. A Java nyelv rengeteg agyahalottsága közül az egyik szívszerelmem, hogy nincsenek C-stílusú enumok, vagyis ha van egy láda konstansod, akkor számozhatod őket egyenként. Ez akkor különösen nagy élmény, amikor C-s kóddal közösen kell közlekedni a gépen, és a C-s header persze szépen teli van akkurátusan definiált enumos konstansokkal, amit persze neked is használnod kéne. Tehát a konstansokat egyenként át kell írni Java-ba, és megszámozni. Hurrá. Persze, ha ezt megspékeljük egy programozóval, amelyik ledefiniálja a végtelent konstansként, akkor egészen vicces dolgok is születhetnek eredményül. Például ilyenek:

Az eredeti C verzió:

enum FooBarMode
{
    FOO_GEEK,
    FOO_NERD, 
    FOO_LAMER,
    FOO_EXPERT,
    ...

Ugyanez Java-ban, szerinte:

    // enum FooBarMode
    public static final int FOO_GEEK   = 0;
    public static final int FOO_NERD   = 2;
    public static final int FOO_LAMER  = 3;
    public static final int FOO_EXPERT = 4;
    ...

Aszzem erre mondják, hogy kettőig sem tud számolni. És amilyen meglepő és mulatságos bugokat ez tud okozni... De arról majd máskor. :)

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Naaa, azert a java 5 ota van mar enum. Addig telleg csak a konstansos bohockodas volt.

A Java 5 olyan luxus, amit egy mobilprogramozó egyelőre nem engedhet meg magának...

-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-

Jó a srác! :)

:) Volt közte valami, amit kivett?

Jobb helyeken ismerik a komment jelet.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.

Hat, nem jo ha egy nerd-bol lamer lesz ez teny es valo.
--

()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.