[Javalist] nyomják krahácsot (romlik a jáva)

Peter Verhas peter at verhas.com
2012. Május. 24., Cs, 15:15:56 CEST


2012/5/24 Kristof Jozsa <kristof.jozsa at gmail.com>:
> pontosan mitől lesz tisztább vagy olvashatóbb a kód ha minden fieldhez
> van egy getter és egy setter?
>

Mert ha azt használod, hogy

invoice.setItems(invoiceItems);

akkor sokkal kevesebb munkád lesz, amikor az Invoice osztályban
például ellenőrizni akarod, hogy ne legyen null, vagy nulla elemű az
invoiceItems, vagy azt, hogy minden tételre ki van-e töltve az ÁFA
értéke. Ha

invoice.items = invoiceItems;

szerepel a kódban, akkor ezt  jelenleg Java-ban refaktorálnod kell,
amikor az items mezőt priváttá teszed és elkészíted a settert és a
gettert.

Ha JavaX-ben (X > 7) az 'invoice.items = invoiceItems;' kód darab egy
setter hívássá fordul le, az viszont felveti azt a kérdést, hogy a
programozási nyelvben tényleg minden az-e, aminek látszik. A válasz
pedig nem, mert ez értékadásnak látszik, miközben metódus hívás. Most
még, Java-ban persze nem, és én nem is szeretném, hogy az legyen.

Perl-ben olyan jópofa, hogy vannak ilyen automagic megoldások, de a
Java nem Perl.
2005 októberben a Perl konferencián tartottam egy előadást, az volt a
címe, hogy "Tiltsák be a Perl-t", és csak Java-ban szabad programozni.
Sajnos nincs már meg a videó felvétel Ott volt Larry Wahl is. És
mindenki végig azt hitte, hogy viccelek.


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