Archive for April, 2008

Mert ugye, hiába a jó munkamódszer, ha rosz szofvereket használunk!

Hihetetlen, hogy mennyiben meg tudja könnyíteni, vagy éppen nehezíteni egy fejlesztőkörnyezet a programozó dolgát. Ha nem megfelelő a szoftver amit használunk, nagyon sok időt veszítünk, és párhuzamosan rengeteg ideget nyelünk. Semmelyik se valami jó ráadásul a kettő hatással van egymásra. Ha valami miatt egy egyszerű feladaton sokat kell dolgozni, akkor az felidegesít, es ha felidegesít akkor még lassabb lesz a munka…és ez így megy körbe-körbe, amíg a végén mar teljesen értékelhetetlenné válik az ember munkája.

Ugyebár ezt szeretnénk elkerülni ha egy mód van rá :-)

Létezik ennek az ellenkezője is, amit nagyon könnyen meg lehet szokni, és utána már teljesen természetessé válik, hogy az időm nagyrészét kreatív munkával tudom tölteni, nem pedig a forráskódom helyesírási hibáinak javításával, vagy éppen azzal, hogy az átláthatan szerkesztőbe kétszázadjára siklok el a megoldandó probléma felett.

A kód szerkesztésére én a Zend Studio-t javaslom. Pont annyit tud amennyit egy PHP fejlesztőkörnyezetnek tudnia kell. Kitölti a változókat, ismeri a php beépített fgv-eket és a leírásukat, tehát ha elkezdem beírni a fgv nevét, kiírja a lehetőségeket, melyik milyen paramétereket vár stb. Érzékeli a szintaktikai hibákat, és jelzi mi a gond…egy szóval pont arra jó amire akjuk használni.
Külön megemlíteném, hogy van Windows és Mac OS X rendszerre is.

Aztán van a css. Végülis a Zend is be tudja tölteni ezt a feladatot, de én sokkal jobbat használok.
Van egy CSS Edit nevű program. Teljesen tökéletes. Hátránya, hogy csak Mac OS X rendszeren létezik (ami nekem nem problema, de a pc felhasználók ebből kimaradnak). Windowsra van egy Style Master nevű program, de nem ismerem, csak azt hallottam róla hogy jó! A CSS Edit az viszont tényleg tökéletes nekem.
Alapból az tetszett meg benne, hogy bal oldalon mutatja a léterhozott definiciókat, és mindegyik úgy néz ki amilyen stílus igaz rá. Tehát pl ha az a.valami{} zöld, kövér, piros háttérrel, akkor úgy jeleníti meg a felsorolásban. Úgynevezett “Group”-okba lehet csopotosítani a css fájlon belül a definiciókat amik úgy működnek mintha könyvtárak lennének. Ez nagyon átláthatóvá teszi a kódolást. A másik nagy előnye, hogy nem kell beirogatni a css tulajdonságokat, mert felkínálja a lehetőségeket. Ha benyomok egy p betűt egyből előugrik az összes p-vel kezdődő tulajdonság, amikor kiválasztom az egyiket egyből berakja a pontosvesszőt a végére.
Kicsit más így css-t létrehozni, mint amiatt újraírni, mert elnéztem egy karaktert.

A site sminkjének elkészítésekor nem mindegy hogy mit használunk debuggolásra. Lényegesen lerövidíti a szerkeztési időt, ha a Firefox böngészőhöz tartozó Firebug nevű plugin-t használjuk. A lényege az, hogy az egérrel kiválaszthatjuk, hogy a weboldalon melyik elem tulajdonságait szeretnénk látni. Miután kiválasztottuk, látjuk a rá hatással lévő css tulajdonságokat, és ha ez önmagában nem lenne elég, akkor a meglévőket szerkezthetjük is, SŐT újakat vihetünk fel. Ez annyit jelent, hogy amikor felviszünk egy igencsak szétcsúszott sminket, akkor a Firebuggal rendberakjuk, és közbe párhuzamosan írhatjuk is a css fájlba a változásokat. Elmentjük, feltöltjük és a rendezett kinézet fogad minket anélkül, hogy harmincszor írtuk volna át a paddingot, hogy pixelre pontosan stimmeljen minden.
Egy másik remek dolog amire használni lehet az, hogy kijelzi a JavaScript hibákat, es mutatja a weboldal mögött, háttérben futó AJAX hívásokat, az átküldött adatokat, es a visszatérés eredméyét is. Gondoljunk csak bele, ha ez nem lenne, akkor ha elírunk egy AJAX utasítást csak annyit látunk az egészből hogy nem müködik, míg ezzel egy kattintás, és már mutatja is hogy nem létezik az URL amit meghívtunk, vagy ami a hiba oka volt.
Van egy hátulütője is a dolognak! Az az érdekessége, hogy a Firefox nem bírja a saját plugin-jét :-) Ha használjuk, egy idő után nem létezik a böngészőbe a tabulátor és az enter. Ez azonban egy Firefox restart-al könnyedén megoldható.

Én ezeket a szoftvereket használom nap mint nap, és hihetelneül meggyorsítják a munkámat, mindenkinek csak ajánlani tudom.

Sokat gondolkoztam mit is kéne ide írni, de csak megpróbálom!
Lehet nem is az a legmegfelelőbb cím, hogy gondolkodásmód, inkább az hogy rendezettség.

Az egésznek a lényege az, hogy valahogyan rendeznünk kell a dolgainkat, magunkat, mert akkor tudunk koncentrálni és figyelni.
Tanulni és haladni…másokkal együtt dolgozni.

Magamon azt vettem észre, hogy akkor tudok hatékonyan dolgozni, ha nem kell egyszerre egy csomó dolgon gondolkoznom. Nem világrengető dolgokról beszélek, csak a “mindennapos teendők”, pl: Be kell fizetni a számlát, beszélni kel a közös képviselővel, kulcsot kell másolni stb.
Erre egy olyan megoldást tanultam a munkahelyemen, ami teljesen kézenfekvő, egyszerű és mégis tökéletesen betölti a funkcióját.

Ez pedig nem mas mint a gondolati térkép (MindMap).

Nade hogy jön a MindMap a számlákhoz, vagy a kulcshoz?

A válasz kézenfekvő.
Készítek egy mmap-et, aminek a címe mondjuk “Teendők”.
Annak mondjuk legyen három sub topic-ja: Otthni, Munkahelyi, Magánéleti.
Szépen az ember leír mindent, pontokba szedve, felállítja a fontossági sorrendet. Bármit le lehet írni, mert nem kell megmutatni senkinek se, le is lehet kódolni…ez mindenkinek a magánügye.

Az eredménye:
Nem gondolkozok a teendőimen, mert tudom, hogy nem fogok elfelejteni semmit. Nem kell észbentartanom a dolgaimat, mert egy fix helyen, nomárlisan átgondolva össze van szedve. Nem koncentrálok arra, hogy el ne felejtsem befizetni a számlát stb. Amikor akarom előveszem, megnézem mit kell tennem, megteszem, majd törlöm, vagy bejelölöm hogy elkészült.

Na ha ezzel megvolnánk, akkor máris sokkal tisztább fejjel tudunk programozni.
Tundnánk HA nem lennének egyéb zavaró tényezők!!

Ami a legjobban gátol és egyben a legnehezebben kiküszöbölhető probléma az magából az emberből fakad. Ez pedig a rövidebb út keresése, a kapokodás, a lustaság.
Az emeber nem tud úgy koncentrálni, ha fél óránként megzavarják mások. Pont annyira jó, hogy teljesen kizökkenti.
Amikor én kapok egy usecase-t a tanácsadótól, nem az a reakcióm rá, hogy elkezdem olvsani, és valahányszor valami nem világos, kérdésem van, mindig felhívom, megkérdezem…ezzel megzavarom. Én mindig készítek egy MindMap-et. Abba leírom az oldal tervét, és hogy mik a kérdések. Ez egyben azt eredményezi, hogy nagyon alaposan át lesz gondolva az egész, másrészt pedig amikor elküldöm neki, a kérdések egybe és rendezve lesznek… egyszer zavarom meg. Ha mindig megkérdezném, akkor egyrészt feltennék neki olyan kérdéseket is, amiket nem kellett volna, mert ha jobban átnézem a tervet megtalálom a választ, mászrét pedig a tíz kérdéssel tízszer zökkentem ki abból amit éppen csinál…így csak egyszer.
Lehet, hogy így rá kell szánní egy órát, ami lényegesen több mint egy három perces telefonhívás, skype beszélgetés, de több haszna van, mint amennyi időt elvesz.

Ha ezt az eljárást követem, átlátom az egész projektet, rendezem a gondolataimat, es a kérdésekre megkapom a válszat úgy, hogy közbe tekintettel vagyok másokra is … konkrétan a körülöttem dolgozókra.

Ha ez ilyen hatékony, akkor miért nem így csinálják mások is??

Persze vannak prioritás kérdések is! Fel kell mérni hogy mi az amit ha nem kérdezek meg most, akkor nem tudok mit csináni, és mi az ami várhat még, majd a többi felmerülő problémával együtt felteszem…persze ennek már az az alapja, hogy az előzőt tudjuk alkalmazni.

Összegezve:

  1. Saját gondolatok rendezése MindMap-el
  2. A kérdéseket először átgondolni
  3. Eldönteni mi fontos, és mi nem

Szerintem ez a hatékony webfejlesztés alapja…ameddig ez nincs meg az emberben, addig nem fogja azt a munkatempót elérni amit szeretne.