<div>Én éppen pénteken vágtam ki egy ilyen helper class-t a kukába. Igaz, hogy fél napig írtam, és pont olyan volt, ahogy én szeretem, de aztán bevillant, hogy ennek a funkcionalitásnak meg kell lennie apache common- ban vagy guavaban. És fél óra alatt meg is találtam. </div>
<div><br></div>
<div>Nem pont olyan. Egy kicsit nehézkesebb a használata, de talán mert általánosabb, meg aki írta nem úgy gondolkodott ahogy én (naná).</div>
<div><br></div>
<div>És a másik oldalról: nem tudott mindent amit a saját. Ezért a sajátot kidobtam es elkezdtem használni ami az apacheban van. Es közben rájöttem, hogy ami nincs meg az apache-ban az nem is kellett nekem. (Ezt ők honnan tudták?)</div>
<div><br></div>
<div>Az a jó programozó, aki a funkcionalitást kevesebb kóddal tudja megvalósítani. </div>
<div class="mailbox_signature">—<br>Dipl. Ing. Peter Verhas</div>
<br><br><div class="gmail_quote"><p>On Sun, Dec 8, 2013 at 8:33 AM, Auth Gábor <span dir="ltr">&lt;<a href="mailto:auth.gabor@javaforum.hu" target="_blank">auth.gabor@javaforum.hu</a>&gt;</span> wrote:<br></p><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Hi,</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Suller Andras a következőt írta ekkor: 2013. december 8. 07:52:06</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; Nem ertem ezeket a reakciokat. Rajtam es Joe-n kivul senkinek</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; sincsenek statikus helper osztalyai?</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Amire van kész és dobozos megoldás, mondjuk elterjedt és népszerű csomag, ami mondjuk nyílt forrású is: azt célszerű használni. Csak és kizárólag arra a problémára legyen saját fejlesztésű Utility csomag (szigorúan külön csomag), ami nincs közismerten elterjedve, tehát mondjuk rákeresünk a feladatra és az első tíz találatban csak panaszt látunk arra, hogy nincs rá jó megoldás.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Akkor lehet még szó saját megoldásokról, ha nagyon idő vagy teljesítmény kritikus a fejlesztés és az általános megoldások túl lassúak vagy több erőforrást igényelnek, mint a specializált megoldások, de általános esetben az ilyen saját fejlesztések mindig drágábbak, mint a megspórolt idő vagy erőforrás.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">A fejlesztés jel/zaj (üzletileg hasznos kód / üzletileg haszontalan kód) viszonyában minden helper, utility, hack, workaround és a többi kiszolgáló osztály a zajt növeli. Lehet okosan is csinálni az OOP paradigma használatával, illetve JavaEE használatával, de lehet úgy is, hogy a hasznos kódbázis töredéke a kiszolgáló kódbázisnak, mert a fejlesztő alapvetően nem szeret üzleti problémákat megoldani, helyette keretrendszeri fejlesztéseket csinál, mert az sokkal érdekesebb... csak nem azért fizetik.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; En copy-paste-eltem a projektjeim kozott ezeket a helper osztalyokat.</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; Ami most mar tudom, hogy balgasag volt, de akkor megfelelo megoldasnak</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; tunt.</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Kicsit később már azt is balgaságnak fogod tartani, hogy írtál ilyen helper osztályokat... az ember előbb-utóbb belátja ezt. Mindenki úgy kezdi, hogy túl nagynak, összetettnek, nehézkesnek tartja az összes utility csomagot, ezért megírja a sajátját, aztán napról-napra kiderül, hogy mit nem tud a saját csomagja, jó esetben hozzá lesz ragasztva egy új metódus, rossz esetben ilyenkor kiderül, hogy az egész koncepció hibás és nulláról újra kell írni az új körülményeknek megfelelően. A szokásos stációk:</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">- valamelyik komponens újabb verziójával nem működik, mert van benne deprecated függőség, mert az egyszerűbb volt</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">- másik futtató környezetben nem működik, mert más a JVM, más a web konténer, más az operációs rendszer</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">- másik fejlesztésben nem működik, mert tulajdonképpen nem általános utility, hanem specializált, ettől meg az első fejlesztésben nem működik jól</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">- másik fejlesztővel nem működik, mert nem érthető a működése, illetve késhegyre menő viták vannak folyamatosan, mert nem várt hibák vannak benne, amit csak az ismer, aki fejlesztette</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">- nem működik együtt szabványos vagy elterjedt utility osztályokkal, mert azok "nem jól működnek"</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">- nem működik elosztott környezetben, mert nem volt szempont a kifejlesztésénél</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">- lelépett vagy kirúgták a fejlesztőt és itt hagyta a sok "szart", amihez csak ő értett, ezért kidobják az egyedi fejlesztést</p>
<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; "> </p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Bye,</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">Auth Gábor</p>
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">http://www.javaforum.hu/web/10/authgabor</p>
</blockquote></div><br>