ugrás a tartalomhoz

Keretrendszer használata pro és kontra

fchris82 · 2008. Okt. 3. (P), 01.46
Előzmények:
http://weblabor.hu/forumok/temak/100117#comment-56177
http://weblabor.hu/blogmarkok/22348

Én az utóbbira csak most akadtam rá és nagyon meglepődtem egyes véleményeken. Sztem mindenkinek igaza van és ugyanakkor senkinek se. Egyik alapelvem, hogy "Jobb feleslegeset tudni, mint semmit." :D Én úgy gondolom, hogy egy (vagy több!!) keretrendszer ismerete (értsd: megtanulása) mindenképpen bővíti a programozó ismereteit, új ötleteket adhat akár azonnal vagy később. A "mindent keretrendszerből kell megoldani" és a "soha ne használj keretrendszert" egyaránt szélsőséges vélemények. Vannak feladatok - komplett weboldalak -, problémák, vagy csupán részfeladatok, amik egy keretrendszerrel villámgyorsan megoldhatók és nem számít a sebesség. Fejlesztettem saját keretrendszert. Hihetetlen sok tapasztalattal szolgált. Aztán megismertem a Symfony-t. Egy csomó megoldására volt nekem egy sokkal jobb vagy funkcionálisabb megoldásom. Pl a többnyelvüség kezelésére. Fogtam magam, és a saját megoldásomat megírtam - inkább átírtam - hozzá pluginként, fillterként.

Ha vki ennyire elenne van a keretrendszereknek és sebesség őrült, sztem innentől kezdve az összes munkáját írja meg C-ben, írjon egy saját web servert hozzá, vagy ha szeretne egy átmenetet, ne a PHP-t használja, hanem írjon saját programnyelvet. Biztosan tudna egy magának gyorsabb, kevésbé szélesebb körben használható specifikusabb nyelvet kreálni, ami a későbbi munkáját meggyorsítja.

Az én véleményem, hogy mindenki igenis tanuljon meg egy keretrendszert használni. Aztán max sose lesz olyan munkája amire fel tudja használni. De biztos vagyok benne, hogy fog belőle vmit tanulni, szélesíti a látókörét és ez egy fontos érv. Nem, nem a használat mellett, hanem hogy megismerjük!

Erre részletesebben is reagálnék: http://weblabor.hu/blogmarkok/22348#comment-55631
Egy CakePHP vagy Symfony megismerése nem kis feladat (idő, energia, szemlélet átformálás), valamint vannak kialakult programozástechnikai dolgok, saját módszerek, hogy mit hogyan oldok meg. Hosszú évek alatt csiszolódik és mint írtam, vagy feladom ezeket a framework filiózófiájáért, vagy szépen lassan beleviszem az én dolgaimat, ami egy komplex framework esetén sok idő, energia, ami nem biztos, hogy megtérül.

Ez nem kicsit ellentmond ennek:
Másrészről pedig, ha minőségi kódot ír az ember, jól kommentezve és van fejlesztői doksi is, akkor szerintem minimális az az idő, ami alatt bele tud nyúlni más ember a rendszerbe.

De erről majd később :)
Nos, mintha egy megfásult 70 éves öregúr véleményét olvastam volna ;) Én is sokáig azon a véleményen voltam, mint te. Aztán a saját keretrendszeremmel csináltam egy igazán nagy oldalt. De tényleg nagy és összetett. És eljutottam arra pontra, hogy fel kéne még venni néhány segéderőt. Hoppá! Ha az egész egy ismert keretrendszerben íródott volna, nagyon egyszerű dolgom lenne. Keresek egy Symfony-t ismerő programozót és kb 1 hét alatt elmagyarázom és megérti a saját pluginek működését, az adatbázis felépítését és a működést.
De nem ez a helyzet. Ha most fel kéne vennem vkit, kb 2 hónap, mire megérti a saját keretrendszeremet. És mivel még sosem használta, további 2 hónap, mire megérti a működést és nagy biztonsággal hozzá tud nyúlni, egy felmerült problémára tudja, hogy hol kell keresni a "választ". 4 hónap ~ 1 hét. Ha korábban ismertem volna a Symfony-t, a fejlesztési idő is kb a fele lett volna annak, ami volt, mert néhány problémát nem nekem kellett volna megoldani, hanem már készen kaptam volna a megoldást (itt a begépelésre és tesztelésre szánt időről beszélek, legtöbbször nem ördöngösség kitalálni a megoldást)

Itt a kulcs, hogy az egységes struktúrát én akarom meghatározni, a saját logikám, munkamódszereim alapján. Ez lehet, hogy nem eredményezi a legjobb megoldást, nem kapok érte szakmai díjat, de hatékonyan tudok általa dolgozni.

Azt Te csak hiszed. Lásd az én esetemet. Plusz ajánlom az öreguras sztorit: http://weblabor.hu/forumok/temak/100079#comment-56122 elolvasásra.
Ez az érvelés nagyon hasonlít arra, hogy "miért nem írok (normális) kommentet". Mert azt hiszik sokan, hogy időpocsékolás. Aztán mikor már ötödszörre kell a kódhoz nyúlni, és keresgélik percekig, hogy mit is akartak ott, akkor jönnek rá - már ha rájön -, hogy a komment megírással elment volna 5 perc, ők meg már összesen több órát szántak arra, megfejtsék a több hónapja írt kódjukat. És még nem is beszéltünk arról az esetről, mikor át kell adnod vkinek munkát. Egyáltalán nem időpocsékolás megtanulni egy keretrendszer használatát, és igenis hatékonyan lehet dolgozni bennük!

Persze, hogy más kategórai a CMS. Itt az elvet akartam szemléltetni, hogy én pl. nem akarok Drupált használni egy kisebb honlaphoz, mert a saját framework-ömmel is össze tudom állítani az oldalt.

Ez egy teljesen egészséges hozzáállás. Költöztetéshez használj kamiont, családi kiruccanáshoz mikróbuszt, munkába járáshoz meg bringázz ;)) Az egyszerű tartalomkezelő oldalhoz, meg használj CMS-t, hacsak nincs vmi extra.

Másrészről pedig, ha minőségi kódot ír az ember, jól kommentezve és van fejlesztői doksi is, akkor szerintem minimális az az idő, ami alatt bele tud nyúlni más ember a rendszerbe.

Nem tudom, neked milyen keretrendszered van, de az enyémhez egyszer elkezdtem írni egy könyvszerű dokumentációt. Kb 110 oldalnál hagytam félbe, és kb a téma 40%-t érintettem. Ajánlom figyelmedbe a Symfony könyvét. Az sem 10 oldal. Továbbá ha szerinted ilyen könnyű beletanulni más rendszerébe, pláne nem értem, miért nem veszed a fáradtságot, hogy megtanulj egy keretrendszert. Egészen jól dokumentáltak. Ja, hogy az mégsem megy olyan hipp-hopp :? Te dolgoztál már más után? Én igen. Többször is.

Az a helyzet, hogy sztem Te még csak "kis" oldalakkal dolgoztál, és nem láttál igazán nagy és összetett rendszereket. Te "Hello World" méretű problémákról beszélsz, én meg olyanról, ahol 105 tábla van az adatbázisban, és van olyan SQL lekérés, ami 80 soros, vagy éppen 10-20 táblát kapcsol össze, statisztikát készít, loggol és 6 nyelven elérhetővé KELL tenni a tartalmat. Ahol 3574 fájlról beszélünk, 192 könyvtárba rendezve. Elég elenyésző része kép. Én gyönyörű kommenteket írtam a fájlokba, de garantálom neked, hogy 1 nap kevés ahhoz, hogy csak a könyvtárstruktúrát megértsd, pedig nem bonyolult, sőt, logikus. Annak, aki ismeri (azaz nekem).


Végül sose feledjük:
Aki nagyon ért a kalapácshoz, mindenhol szöget lát.

Ezért tanuljunk meg bánni a csavarhúzóval is, még jól jöhet ;) Persze a csavart is be lehet verni ...
 
1

pluszegy

gex · 2008. Okt. 3. (P), 02.21
rendkívüli módon tetszett. teljesen mértékben azonosulni tudok azzal az állásponttal, hogy egy mások által fejlesztett keretrendszerből csak és kizárólag tanulni lehet. aki mindig a saját megoldásait erőlteti az egyrészt nem fog soha másik nézőpontból nézni semmit, másrészt kihagyja az egyetemes tudás használatát, harmadrészt pedig nem elég alázatos, mert azt hiszi hogy ő okosabb mindenki másnál.

és itt még csak a keretrendszer megismeréséről és nem a használatáról beszéltem. mindig a célnak megfelelő eszközt ugyebár.

"Jobb feleslegeset tudni, mint semmit."
+1
munkába járáshoz meg bringázz ;))
+1
8

off - kérdés

Szekeres Gergő · 2008. Okt. 3. (P), 11.19
én eddig nem nagyon használtam keretrendszert, viszont ha valami ekkora vitákat tud kiváltani az számomra érdekes lesz.. :)

Két kérdés: melyiket érdemes megismerni (nem csak a "tudás" a lényeg, hanem hogy legyen hozzá normális doksi is, lehetőleg angolul), éb kb mennyi időt vesz igénybe?
10

lehetetlent kérsz

rrd · 2008. Okt. 3. (P), 11.22
Erre a kérdésre nem fogsz objektív választ kapni. Mindenki azt írja majd amit ő maga használ. Szóval CakePHP :)

http://www.phpframeworks.com/

Általában az alapok elég gyorsan tanulhatóak minden keretrendszernél.
14

milyen nyelven?

gex · 2008. Okt. 3. (P), 14.09
kitűztem most egy olyan célt magamnak, hogy év végéig megcsinálok egy-egy projektet symfony (php), rails (ruby) és django (python) alapokon, mert egy kicsit ellustultam. tanulni biztos hogy fogok belőle, remélem nem is keveset, és most megpróbálok arra koncentrálni hogy sikerüljön is, bár azt tudom hogy ennyi idő alatt - 1-1 hónap mindhárom rendszerre - nem fogok annyira elmélyedni a témában.

a végső célom az, hogy felgyorsítsam a munkámat olyan mértékben hogy sokkal több időm maradjon ilyeneket tanulni a meló mellett.

ha összejön a dolog - és persze lehet hogy eltolódik pár hónapot - akkor majd írok róla egy hosszabb blogbejegyzést. :)
16

php

Szekeres Gergő · 2008. Okt. 3. (P), 14.34
de mondjuk a többi nyelvbe is ideje lenni már belekezdeni. :)
2

keretrendszer háború

virág · 2008. Okt. 3. (P), 07.26
Szia!

Nem árt ha az ember ismer "keretrendszereket". De. Nekem ezek a keretrendszeres dolgok a PHP-hoz mostanában már picit a könyökömön jönnek ki, egy újabb divathullám ami elérte a PHP-t. A keretrendszerek háborúja! Nem hiszem, hogy valaki jobb vagy rosszabb fejlesztő lenne A Keretrendszerek ismerete nélkül, ugyanakkor az sem igaz, hogy ezek a rendszerek rosszak lennének és ártana a használatuk a kreativitásnak, egyetértek a cikk írójával abban, hogy növelhetik a kreativitást és alakíthatják a szemléletet, de nem lehet ebből egy általános törvényt gyártani sem végső Nagy Konklúziókat levonni... Én a Symfonyt ismerem legjobban ezek aközül a "keretek" közül, készítettem benne "igazán nagy" rendszert, de előtte keretrendszerek nélkül - több céges (belső) és saját kódgyűjteménnyel is készítettem, illetve vettem részt "nagy" rendszerek fejlesztésében. Soha nem a keretrendszereken múlik ha rossz a végeredmény... :)
18

+1 -1

Hodicska Gergely · 2008. Okt. 5. (V), 01.19
Nem hiszem, hogy valaki jobb vagy rosszabb fejlesztő lenne A Keretrendszerek ismerete nélkül
A gond ott van, hogy sokan egy keretrendszer kapcsán kerülnek mondjuk ismeretségbe az MVC-vel. Simán jó lehet egy saját rendszer is, ha megfelelően van kialakítva, viszont ez általában nem jön össze, hogy ha valaki anélkül vág bele, hogy ismerne más rendszereket. Nem feltétlenül persze, csak a feltételes valószínűsége jóval magasabb. Általában jó saját rendszer mögött valamilyen létező minta követése áll.

És az jó dolog, hogy ha az ember ha valamilyen problémája van, akkor utánanéz, hogy mások hogyan oldják meg, de ez nem garantálja, hogy előjön nálad minden olyan probléma, amire egy keretrendszer választ ad, illetve simán lehet olyan, hogy egy adott problémára azt hiszed, hogy tök jól megoldottad, de közben létezne rá simán jobb megoldás is. Lásd pl. változó változó esete, tényleg nem cikizés vagy ilyesmi, de ez arra utal, hogy nem igazán nézett még meg túl sok OOP kódot vagy mintákat, mert ezzel szinte mindenhol össze kéne fusson az ember, ráadásul egy nagyon hasznos nyelvi lehetőség, amit sokszor ki lehet használni.

Szóval nem gondolom, hogy a keretrendszer a feltétlenül üdvözítő dolog, de aki elzárkózik ezektől, az többnyire nincs tisztában a lehetőségekkel. És ez utóbbi miatt nagyon fontos szerintem ismerni ilyesmi eszközöket, illetve minél több forráskódot megnézegetni.
3

És mire nem?

deejayy · 2008. Okt. 3. (P), 08.33
Nekem az a kérdésem, hogy mit NEM lehet ezekkel megcsinálni? Brutális SEO praktikák, sebességoptimalizálás, <és még amik most nem jutnak eszembe>, stb?

/me = mindent-nulláról php kiddie
5

High load

janoszen · 2008. Okt. 3. (P), 10.36
Nagy terhelésű több (tucat) szerveres rendszerek.

A keretrendszerek általános, jól elterjedt problémákra próbálnak megoldást nyújtani, ergó mindent amire az előbbi kifejezés nem jellemző, többé-kevésbé szívás lesz bennük megvalósítani. Egy kivétel van: a kő buta rendszerek, amikben van ugyan eszközkészlet de annyira minimálisan köt meg amennyire csak lehet.
17

kicsit elitista ;)

Hodicska Gergely · 2008. Okt. 5. (V), 00.38
Kicsit elitistának érzem ezt a hozzászólásod. Symfony-t használ ugye pl. a Yahoo is, de több más rendszer is használatban van nagyobb terhelésű oldalaknál. A skálázhatóság nem ezen fog múlni alapvetően.
4

pro és kontra

rrd · 2008. Okt. 3. (P), 09.20
Javaslom, hogy minden hozzászóló írja le, hogy mennyit dolgozott már keretrendszerekkel. Ez némileg segítene kiszűrni azokat akik hevesen érvelnek egy témában amivel eddig nem is volt gyakorlati tapasztalatuk.

A magam részéről 5 év PHP-s keretrendszer nélküli és 2 év keretrendszeres (CakePHP) gyakorlattal rendelkezem. Találkoztam mások komplett alkalmazás kódjaival, olyanokkal akik használtak valamilyen keretrendszert és olyanokkal akik nem.

A keretrendszereknek többnyire megvan a saját megközelítésük arról, hogy mi is az alap cél amiért létrejöttek. A CakePHP például egy gyors alkalmazásfejlesztési keretrendszer, így a fő célja, hogy megrövidítse a fejlesztésre szánt időt. Más keretrendszereknek más a fő célja.

A keretrendszerek mindig egy elvonatkoztatási réteget, azaz biztosan pár extra feldolgozási fázist vezetnek be annak érdekében, hogy az alkalmazás könnyebben portolható, fenntartható stb legyen. Az extra funkciók extra időt igényelnek.

Nekem az a tapasztalatom, hogy a keretrendszereket nem használók sokszor elkövetnek olyan hibákat amelyek jóval lassabb kódfutást eredményeznek mint a keretrendszer. A sebességcsökkenésről ennyit.

Hogy mit lehet és mit nem lehet az meg erősen keretrendszer függő, többnyire mindent meg lehet csak az a kérdés, hogy mennyire kell csavargatni az alap lehetőségeket.

A keretrendszerek fejlesztésében általában több programozó vesz részt, nyílt forráskódúak, így sokan adnak kód módosítási és kiegészítési javaslatokat. Így valószínűleg optimálisabb kódot kapunk a végére mint amikor egy fejlesztő a saját tudásának korlátaival hoz össze egy saját rendszert.

Extra finomítások többnyire a nagy forgalmú oldalaknál szükségesek. Itt is többnyire csak bizonyos modulok bizonyos részeiben. Általában a keretrendszerek lehetővé teszik, hoyg az alap eljárásokat felüldefiniáljuk és sajáttal cseréljük le. Így a keretrendszer előnyeit ötvözhetjük a saját finomításainkkal.
6

Ezt a demagóg szöveget ;)

vbence · 2008. Okt. 3. (P), 10.49
Nekem az a tapasztalatom, hogy a keretrendszereket nem használók sokszor elkövetnek olyan hibákat amelyek jóval lassabb kódfutást eredményeznek mint a keretrendszer. A sebességcsökkenésről ennyit.


Ne haragudj, de ezt nem hagyhattam szó nélkül :P

A korreláció nem jelent oksági kapcsolatot. El tudom képzelni, hogy van egy noob, aki 2-3 éve PHP-zik és elkövet "olyan hibákat amelyek jóval lassabb kódfutást eredményeznek", és azt is is el tudom képzelni, hogy egy noob nem szivesen használ külső kódot (a saját kódját legalább érti, nem akar más hibáival vacakolni stb.), meg talán nem is érett még meg azokra a koncepciókra, amikben a keretrendszer gondolkodik.

De hogy az első előfeltétele lenne a másodiknak?
7

nem előfeltétele

rrd · 2008. Okt. 3. (P), 11.07
Nem azt mondtam, hogy oksági összefüggés van. Lehet keretrendszerrel is gányolni és anélkül is ideálisat alkotni. A szubjektív tapasztalatom az viszont, hogy az önfejlesztett kódok amiket láttam és "profi" cégek kezéből kerültek ki borzalmasak, lassúak és biztonsági résektől hemzsegnek.

Csak azértis :P
9

Mondhatjuk?

vbence · 2008. Okt. 3. (P), 11.21
... hogy aki a PHP beépített lehetőségeit szarul használja az valószínű egy 3rd party kódot is szarul használna?
11

Igen, ez a fele majdnem

rrd · 2008. Okt. 3. (P), 11.55
Igen, ez a fele majdnem biztos.
12

Csak "röviden"

Max Logan · 2008. Okt. 3. (P), 12.01
Ez a téma részemről már nem a fórum keretei közé való, mert erről érdemben egy hosszú délután alatt, több sör társaságában lehetne beszélgetni.

Nos, akkor "röviden" megfogalmaznám, hogy mit is akartam kihozni abból, hogy saját keretrendszert használok, nem egy népszerűt. Én alapvetően olyan ember vagyok, hogy meg akarom érteni, hogy mi hogyan és miért úgy működik ahogy (ergo azt, amit a keretrendszer elfed előlem). Ez egyrészt jó hozzáállás, másrészt így el lehet veszni a részletekben, adott esetben kevésbé produktívnak lenni. Viszont hosszabb távon megtérül a miértek megismerése.

Főként azért használok saját megoldásokat, mert az idők során kialakultak bizonyos rutinok. Namost ezek a folyamatok nem úgy vannak jelen az egyes nagyobb keretrendszerekben, mint ahogy én használom őket. Amikor egy project-en dolgozik az ember, akkor nincsen ideje megtanulni pl. a Symfony-t, hogy őt használja, mint keretrendszer. Persze, amennyiben a megrendelő olyan, hogy távlatokban tud gondolkodni, hallgat a fejlesztőre, hogy érdemes erre vagy arra a keretrendszerre alapozni egy project-et, akkor bele lehet kalkulálni azt az időt, amíg a fejlesztő legalább az alpokat megismeri és elkezdi a project-et. Így meg lehet tanulni éles környezetben egy keretrendszert. Viszont eddigi munkáim olyanok voltak, hogy mindent tegnapra akarnak, ezért munkaidőben nem volt energiám megtanulni egy keretrendszert sem.

Viszont amikor már eljutottam egy olyan fejlettségi szintre, hogy komolyabb alapokra szeretném helyezni a saját kódomat, akkor belelestem pl. a CakePHP-be, Smarty-ba, hogy mit hogyan oldottak meg (anno a saját template engine fejlesztésekor).

És itt jön a lényeg. Ahogy egyre összetettebb feladatokat kell megoldanom időről-időre előjönnek azok az igények, amiket az egyes keretrendszerek megvalósítanak. Ekkor utánaolvasok, keresgélek neten, hogy adott problémát hogyan lehet megoldani. Próbálom adaptálni a rendszerembe. Biztos, hogy nem lesz olyan jó a megoldás (bár ezt nem jelenthetjük ki egyértelműen), mint a nagyobb keretrendszerekben lévő profi kivitelezés, de meg fogom érteni, hogy a keretrendszer fejlesztői, adott dolgot miért is úgy csináltak ahogy. Példával élve: jó dolog az ABS az autóban, csak mondjuk érteni kell, hogy az miért van, hogyan működik, meg hogyan kell vele fékezni.

Ahogy haladok előre az időben, egyre bonyolúltabb feladatokkkal találkozom és egyre letisztultabb alaprendszert akarok építeni a saját megoldásaimból, folyamatosan találkozom a keretrendszerekben megvalósított problémákkal. A napokban például rájöttem, hogy miért is jó mondjuk az ADOdb, vagy miért vannak bizonyos funkciók úgy megvalósítva Smarty-ban ahogy. Ez olyan dolog, hogy aki PHP-vel ismerkedik és találkozik a változó nevű változókkal, látja, érti, hogy mi az, de fingja nem lesz róla, hogy a gyakorlatban ezt mire tudja majd használni. Én is csak bő fél éve jöttem rá, hogy miért is jó ez nekem. Volt egy gyakorlati probléma, ahol dinamikusan kellett létrehozni objektumokat és ekkor jött jól a dolog. De előtte fogalmam sem volt róla, hogy ezt a lehetőségét a PHP-nek mire lehetne felhasználni. Jó dolog a Smarty, de ha kismillió dolgot tud, én viszont nem használom ki, akkor majdnem felesleges a használata. Most találkoztam egy gyakorlati problémával, utána néztem Smarty doksiban, hogy ezt hogyan oldják meg és így megértettem, hogy miért is ilyen funkciógazdag a Smarty. Így már tudtam adaptálni a dolgot a saját rendszerebe, a logikát át tudtam ültetni.

Ez az egyész egy tanulási folyamat. A keretrendszer ad egy olyan környezetet ahol produktívan lehet dolgozni, mert elfedi az ember elől azokat a dolgokat, amivel sz*pás lehet. Én olyan ember vagyok, hogy meg akarom tudni, hogy mit fednek el előlem, mert ezzel úgy gondolom, hogy jobban fogom majd használni / kihasználni a keretrendszer lehetőségeit, valamint ha speciális igény jelentkezik, akkor hamarabb tudok lépni.

Azt is említettem, hogy a keretrendszer használata lényegében (megítélésem szerint) egy elég profi hozzáállás. Annak nem érdemes ajánlani egy keretrendszert, aki még nem ismeri eléggé PHP-t, az OOP-t, a WEB-es világ működését, mert bár használni fogja a keretrendszer közel sem biztos, hogy jó minőségű kódot ír.

Én sz*pok a saját rendszeremmel, folyamatosan fejlesztem és időről-időre rájövök, hogy miért is vannak bizonyos dolgok úgy a nagyok rendszereiben, ahogy. És amikor megvan már az alapvető elméleti és gyakorlati tudás, akkor fogok áttérni egy komplex keretrendszerre, mert akkor már ki tudom használni és nem csak használni fogom.

Ami a Symfony tanulását illeti, minden nagyképűség nélkül mondhatom, hogy nem jelentene problémát megtanulni Symfony-val fejleszteni, csak éppen jelenleg nem akarok. Egyrészt, mert rájöttem, hogy a programozás nekem örök szerelem, de nem ez a hivatalásom – bő 10 évvel ezelőtt még úgy gondoltam, most már más dolgokban látom a hivatásomat, de ez magán jellegű dolog; egy-két sör mellett erről is lehetne beszélgetni –, másrészt meg sok elméletet kellene olvasnom hozzá (pl. OOP tervezési minták), amire most nincsen időm (hogy miért, ez megint magán jellegű dolog).

Remélem így már érthető a hozzáállásom a dologhoz.
13

Félre értettelek

fchris82 · 2008. Okt. 3. (P), 12.50
Oké, a hozzáállásod helyes. Ezek szerint tanulmányozol más rendszereket, és itt ez lett volna a lényeg, hogy érdemes néha kitekinteni és megtanulni vmi mást, mert rengeteget tanulhatsz belőle.

Nos, akkor "röviden" megfogalmaznám, hogy mit is akartam kihozni abból, hogy saját keretrendszert használok, nem egy népszerűt. Én alapvetően olyan ember vagyok, hogy meg akarom érteni, hogy mi hogyan és miért úgy működik ahogy (ergo azt, amit a keretrendszer elfed előlem).

Ez nem igaz!!! A keretrendszer semmit nem fed el előled. Teljesen nyílt, és szinte gyakrabban nézem a forrást, mint a dokumentációt, mert sokkal több minden kiderül.
Igen, ez hosszú folyamat. Először megtanulod a használatát (felszín), majd megérted a működését. Az első talán gyorsan megy, a második jóval lassabb.

Igazából nem akarom ragozni sokáig, mert "jó úton vagy", csak a szokásos kifogás: nincs rá idő ;) Én egy idő óta figyelmen kívül hagyom, hogy a megrendelőnek mennyire sürgős. A gyors munka általában tele lesz hibával és később nehezen tovább fejleszthető, bővíthető. Van, hogy napok, hetek mennek el tervezéssel, még akkor is, ha a megrendelőnek 2 hét múlva kéne a dolog. Megmondom, hogy nem lesz meg annyi idő alatt és kész. A jó munkához idő kell. Punktum. Az ügyfelet is ki lehet rúgni. Ha nem fogja fel, hogy ez az ő érdeke, én nem akarok vele dolgozni, szűklátókörűségre vall.
15

Nincs idő ...

Max Logan · 2008. Okt. 3. (P), 14.19
Nos, jelenleg az aktuális élethelyzetemből kiindulva nincsen sem időm, sem energiám arra, hogy belekezdjek egy nagyobb keretrendszerrel való ismerkedésbe. Ez most magánéleti dolgok függvénye, nem szakmai lustaság.

Ami a megrendelőt illeti. Már csak úgy vállalok el munkát, ha dokumentálva van a funkcionális specifikáció. Ameddig ez nincsen meg, addig a vázolt feladatból kiindulva kapnak egy kb. fejlesztési időt (amibe mind a tervezés, mint a megrendelővel közös bétateszt benne van), de mindig jelzem, hogy a ténylegesen szükséges fejlesztési időt csak a funkcionális specifikáció megléte után tudom mondani.

Az említett "megrendelők" anno az aktuális főnökeim voltak. A probléma úgy tűnik általános. Alkalmaznak IT fronton embereket, de nem igazán hallgatnak rájuk. Az egyik melóhelyen egyszerűen nem tudtam megértetni velük, hogy az nem elég egy összetett rendszer fejlesztésénél, hogy vázolják a feladatot. Szinte könyörögnöm kellett, hogy üljünk össze és specifikáljuk a feladatokat, folyamatokat. Aztán ebből mindig az lett, hogy egy lépést előrébb jutottunk, de hármat visszaléptünk, mert annyival bonyolódott mindig az elvárt funkcionalitás és megjelentek olyan részfolyamatok, feltételek, amiket a vázolt feladatból nem láttak – én igen, ezért is szerettem volna, hogy üljünk össze és beszéljük meg részletesen a dolgokat. Azt meg főként nem értik meg, hogy ki kell dolgozni egy alap állapotot, amire majd lehet építeni a későbbi funkcionalitást. Sok esetben mindent akarnak, tegnapra.

Most már válogathatok a melók közül és nem egyszer volt rá precedens, hogy eldobtam egy melót, mert a megszabott határidőre nem tudtam volna olyan minőségben prezentálni a rendszert, ahogy azt én mint szakember elvárom magamtól.