[Javalist] To null or not to null

istvan.ketler at lhsystems.com istvan.ketler at lhsystems.com
2012. Júl. 25., Sze, 11:54:05 CEST


Nagyjából ugyanezt akartam mondani, csak nekem kevésbé sikerült. Összefoglalva, szerintem a null visszatérés nem antipattern, megvan a maga helye és ideje. Hibává akkor válik, ha rosszul alkalmazzák.

Üdv,

Iván
István Ketler
Senior Consultant
Lufthansa Systems Hungaria Kft.
Development Center Pest
Neumann János u. 1/e
1117 Budapest
Hungary
Tel: +36 1 887-2815
Fax: +36 1 887-2977
Mobile: +36 30 600-4936
Room: Infopark E, Room LH2-24
e-mail: istvan.ketler at lhsystems.com<mailto:istvan.ketler at lhsystems.com>
Internet: www.LHsystems.hu<http://www.lhsystems.hu/>

From: javalist-bounces at lists.javaforum.hu [mailto:javalist-bounces at lists.javaforum.hu] On Behalf Of Vig, Balázs
Sent: Wednesday, July 25, 2012 10:13 AM
To: Java lista
Subject: Re: [Javalist] To null or not to null

Sziasztok!

Ez szerintem tipikusan az exception erősíti a szabályt esete. Sok esetben a NULL jó visszatérési érték: azt jelenti, hogy a futás OK volt, de nincs eredménye (nem jött létre új objektum, nem találta a keresett elemet, stb.). Ha ez jelezve (mert ugye mindenki jelzi a dokiban ;) ) van az API-ban, akkor minden ok, így kell használni.
Abban az esetben, ha a NULL valid visszatérési érték (lekérdezés eredménye, kulcshoz tárolt objektum), akkor ez a módszer nem alkalmazható, ilyenkor már Exception-t kell dobni.
A hiba elnyelése nem megoldás: pl. ha hibásak a paraméterek, akkor nem NULL-t kell visszaadni (elég lusta programozásra vall), hanem igen dobjunk egy jó kis InvalidArgumentException-t (vagy vmi hasonlót)

Véleményem szerint a NULL érték visszaadása egy olyan könnyítés, ami lehetővé teszi, hogy ne kelljen minden egyes hívást try blokkba rakni. Sokkal egyszerűbb azt kezelni ott, ahol már használni akarod.


Üdv:
Vig Balázs

Vezető fejlesztő
Data Solutions Kft.
1118 Budapest, Számadó utca 19
30/416-3348
http://www.datasolutions.hu


2012. július 25. 9:55 Jenő Tobak írta, <tobakjeno at gmail.com<mailto:tobakjeno at gmail.com>>:
Sziasztok!
A JPA getSingleResult egy tipikus kereső metódus, mégis ha a lekérdezés nem ad vissza értéket akkor NoResultException-t dob. És ha nem adatbázis mi van ha a keresés eredménye null? Tehát a null nem azt jelenti hogy nem találtam hanem hogy az eredmény null? Szerintem nem lehet minden esetre megfelelő szabályt hozni, van ahol alkalmazható és van ahol nem.
Üdv,
  J

2012. július 25. 9:44 írta, <istvan.ketler at lhsystems.com<mailto:istvan.ketler at lhsystems.com>>:
...
Különösen azon metódusok esetén, amelyek valamiben keresnek valamit, a null nagyon jó és természetes visszatérő érték, jelentése pedig „nincs ilyen”. Ez sokkal kulturáltabb, mint a kivételkezelés.
 ...

_______________________________________________
Javalist mailing list
Javalist at lists.javaforum.hu<mailto:Javalist at lists.javaforum.hu>
http://lists.javaforum.hu/mailman/listinfo/javalist


 
Sitz der Gesellschaft / Corporate Headquarters: Lufthansa Systems Hungaria Kft, Budapest, Fövarosi Birosag 01-09-463417
Geschaeftsfuehrung / Management Board: Monika Houck


--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20120725/cd4685cf/attachment.html>


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