[Javalist] Segítség! Java7 compiler BUG???

Gábor Garami gabor.garami at hron.me
2012. Júl. 23., H, 15:56:59 CEST


En, ha fontos parameterekrol van szo, es akar egy ellenorzes is
elbukik, szivfajdalom nelkul dobok exceptiont, mert ez HIBA, ilyen
ertekeket nem szabad kapni.

Ha nem fontosakrol van szo, akkor ketfele eset van:
 - A hiba javithato. Ekkor a parameterek atvetelekor automatikusan
fixalom is a bejovo parametert, igy a rendszer nem kap rossz ertekeket
(nem sok ilyen van, pl. van valami szam, ami nem lehet kevesebb, mint
x, de kevesebbet kapok, ha nem kritikus, akkor automatikusan x-szel
dolgozok tovabb).
 - A hiba nem javithato. Ez kritikus hiba, akar opcionalis volt a
parameter, akar nem, rossz ertekekkel nem engedek el semmi folyamatot
-> exception.

Garami Gábor
E-mail: gabor.garami at hron.me
Tel: +36 20 235 9621
MSN: hrgy at vipmail.hu
Skype: hron84


2012/7/23 Viczián István <viczian.istvan at gmail.com>:
> Üdv,
>
> Egy okos könyvben olvastam erre egy alternatívát, amelyik
> kijelentette, hogy nem jó a return null, mint vezérlő érték, ugyanúgy,
> ahogy ne adj vissza státuszkódot sem. Ehelyett egyrészt Exception-t
> javasol, amit meg én nem szeretek, mert én az Exception-t mint
> kivételes eseményt értelmezek, és az, hogy egy ellenőrzés elbukik, az
> nem mindig kivételes esemény.
> Ehelyett van egy olyan megoldás, hogy két szép metódust deklarálsz, és
> úgy hívod, mert olvashatóbb a hívás helyén.
>
> if (parameterekHibatlanok()) {
>   csinaldMeg();
> }
>
> Csak mint alternatívát jelzem.
>
> Üdv,
> --
> Viczián István
>
>
> 2012/7/22 Peter Verhas <peter at verhas.com>:
>> No ha már ennyit rágjuk ezt a témát:
>>
>> A még egyszer ide már nem mellékelt kódot nem hirtelen felindulásból írtam.
>> Először volt egy production kód, amiben felfedeztem, hogy valami nem kerek.
>> Lokalizáltam a problémát, majd generáltam egy másik projektet, amelyikkel
>> demonstrálni tudom. Végül a korábbi levélben mellékelt kód szintre
>> egyszerűsítettem le demonstrációs céllal, hogy a levélbe be tudjam másolni.
>>
>> Ilyenkor azért az ennyire leegyszerűsített kódot is kipróbálom, és
>> copy-paste kerül bele a levélbe, hogy ne legyen az, hogy ez nem produkálja a
>> problémát, és akkor lehet azon rágódni, hogy "de nekem nem is produkálja,
>> nekem meg igen".
>>
>> Btw: az "egy metódus egy return" ízlés kérdése is. Van amikor ettől el
>> szoktam térni. Például ha van egy metódus, ami bizonyos speciális bemeneti
>> értékek esetén null-t ad vissza, akkor a kód struktúrája nálam sokszor:
>>
>>
>> modifiers metódus(paraméterek){
>>
>>   if( paraméterek vizsgálata azt mondja, hogy nem jók )return null;
>>
>>   végezzük az igazi számolást
>>   return igazi eredmény;
>> }
>>
>>
>> Persze ez azonos azzal, hogy
>>
>> modifiers metódus(paraméterek){
>>   deklaráljuk a returnVar-t;
>>
>>   if( paraméterek vizsgálata azt mondja, hogy nem jók )
>>      returnVar = null;
>>   else
>>     végezzük az igazi számolást
>>
>>   return igazi eredmény;
>> }
>>
>> (A {-t meg }-t ne keressétek, ez nem kód, hanem kód struktúra demo!) Ha
>> production code (hobby) projektre kíváncsi valaki tőlem (mondjuk elég
>> perverz), akkor aktuálisan a https://github.com/verhas/jScriptBasic
>> projektet lehet nézegetni.
>>
>> --
>> Verhás Péter
>> peter at verhas.com
>> +36(30)9306805
>> skype: verhas
>>
>>
>>
>>
>> On 2012.07.22., at 13:30, Suller Andras wrote:
>>
>> 2012/7/22 András Csányi <sayusi.ando at sayusi.hu>:
>>
>> 2012/7/22 Peter Verhas <peter at verhas.com>:
>>
>> Production kódban:
>>
>>
>> - mindig be szoktam zárójelezni az if utáni utasításokat.
>>
>>
>> - többnyire csak egy return-t használok
>>
>>
>> - a válzotó nevek a feladatnak megfelelőek, és sokszor olyan hosszúak, hogy
>>
>> sonar (vagy checkstyle?) default beállításban már ugat is érte
>>
>>
>>
>> Egyéb?
>>
>>
>> Psmith, ez egy "Nem" volt. :)
>>
>>
>> Tudom :)
>> Viszont a kerdes amit irtam 2 tagmondatbol allt, amelyen "es"-sel
>> voltak osszekapcsolva. Na most ha erre "Nem" a valasz, akkor meg
>> mindig kerdeses hogy melyik tagmondat a hamis ;)
>>
>> Andras
>> _______________________________________________
>> Javalist mailing list
>> Javalist at lists.javaforum.hu
>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>
>>
>>
>> _______________________________________________
>> Javalist mailing list
>> Javalist at lists.javaforum.hu
>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist


További információk a(z) Javalist levelezőlistáról