Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Vlákno názorů k článku
Java na webovém serveru: porovnání Javy a PHP

Franta Kučera aura:90
10. 3. 2010 23:02

Ukecanost a Lombok

Na Javě se často kritizuje její údajná „ukecanost“, padlo to i v této diskusi. Osobně s tím moc nesouhlasím, ale je pravda, že psát gettery a settery je někdy otrava.

Existuje ale zajímavá knihovna jménem Lombok, která tenhle problém elegantně řeší pomocí anotací.

jehovista
jehovista (neregistrovaný) ---.net.upc.cz
10. 3. 2010 23:29

Re: Ukecanost a Lombok

Co je spatneho na getterech a setterech? Podle me to v mnoha ohledech zvysuje bezpecnost pri programovani(z hle­diska programatora). A kdyz to maji byt jen jednoradkace, tak si je necham vygenerovat v IDE.
P.S. Jak koukam na ten Lombok, tak bych se to vazne bal pouzit.

Ladislav Thon
Ladislav Thon (neregistrovaný) ---.net.upc.cz
10. 3. 2010 23:45

Re: Ukecanost a Lombok

Generování řeší pouze počáteční režii, čili ve výsledku je úspora prakticky nulová. Automatické generování getterů a setterů je výhodné pro triviální DTO (s ohledem na lokalitu budoucích změn) nebo třeba pro setterovou dependency injection.

Problém v Javě je jeden: anotační procesory nesmí modifikovat třídy, ve kterých jsou anotace uvedeny – takže Lombok se musí uchylovat ke kódu závislému na implementaci.

Vít Šesták (v6ak) aura:72
11. 3. 2010 17:52

Re: Ukecanost a Lombok

Ta závislost tu je, Lombok se snaží vytvořit řešení pro další v podobě Lombok.AST.

Vít Šesták (v6ak) aura:72
11. 3. 2010 17:58

Re: Ukecanost a Lombok

Myslím, že to je vhodné víceméně všude, kde zrovna nechci něco komplecnějšího, protože až se mi to přestane hodit, tak vyhodím @Setter a napíšu si svůj nebo si jen napíšu svůj (v případě @Data).

Ladislav Thon
Ladislav Thon (neregistrovaný) ---.net.upc.cz
11. 3. 2010 22:24

Re: Ukecanost a Lombok

Souhlas, po anotacích pro generování getterů a setterů toužím už pár let. Nicméně, když tak koukám na tu diskusi ohledně implemetnace uzávěrů odkazovanou níže, musím smeknout – nevěděl jsem, že má Lombok až tak široký záběr. Ale protože jakés takés uzávěry budou v Javě 7, celkem to podle mne přestává mít smysl – i když nelokální návrat je paráda (nezkoumal jsem to detailně, ale v té diskusi o něm mluví). Díky za link!

Franta Kučera aura:90
11. 3. 2010 0:15

Re: Ukecanost a Lombok

Používat gettery a settery (místo veřejných proměnných) je samozřejmě správné, protože to umožňuje vložit připadnou další funkcionalitu, aniž by se měnilo „rozhraní“ tříd. Ale trochu nepraktické je, že tu další funkcionalitu vkládáme celkem výjimečně, takže hodně tříd zůstane s gettery a settery, které kromě čtení/zápisu nic jiného nedělají – tzn. hodně řádků kódu bez nějakého hlubšího významu. Osobně s tím problém nemám, beru to spíš jako kosmetickou záležitost – elegantnější by ale bylo, mít „property“ jako je má třeba C#.

jos
jos (neregistrovaný) ---.tabor.telecom.cz
11. 3. 2010 14:25

Re: Ukecanost a Lombok

pokud někdo tvrdí že je java ukecaná kvůli getterům a setterům, tak si asi nastřílel hafo gólů do vlastní branky, protože

Vít Šesták (v6ak) aura:72
11. 3. 2010 17:56

Re: Ukecanost a Lombok

Lombok toho umí i víc, například je celkem zajímavá anotace @Cleanup. Těším se také na podporu closures ( http://groups.google.com/group/project-lombok/browse_thread/thread/36d096d1ccc6da7b?hl=en ).

Jinak je zajímavé, že Javu jsem viděl jako ukecanou hlavně než jsem v ní začal psát. Myslím, že z těchto dvou důvodů:
* Není to až tak strašný.
* Našly se tu věci, které mi to vyvážily.

Zasílat nově přidané příspěvky e-mailem