PHP koderi Latvijā - kā ir ar jums?
Pēdējos dažus mēnešus esmu mainījis pieeju tam, kā programmēju. Jā - esmu no tiem nenopietnajiem koderiem (tā vismaz domā vairums no tiem, kas kodē citās valodās). Tātad kodēju PHP. Agrāk es tikai taisīju pats savus kodus un tos rakstīju ar kādu vienkāršu teksta redaktoru (Windows - Notepad2, Linux - Gedit). Taču apskaidrības brīdī sapratu, ka es lietas daru tā kā to dara iesācēji. Neskatoties uz to, ka PHP man jau nav svešs 3 gadus, es vēl pavisam nesen kodēju tā it kā būtu nesen sācis. OK - ja ne kā tikko sācis, tad vismaz ar tādiem pašiem ieradumiem. Tātad kas ir mainījies? Daudzas lieta. Piemēram:
- esmu sācis izmantot ietvarus (frameworks) un dažādas gatavas bibliotēkas, klases.
- vienkāršos teksta redaktorus nomainīju pret Eclipse PDT.
- pastiprinātu uzmanību pievēršu dokumentēšanai.
- sāku pamazām apgūt dažādas standartizētas testēšanas metodes un versiju kontroli.
Varbūt sākotnēji uzskaitījums šķiet nebūtisks, bet tas ir aplami. Uzskaitītās lietas krietni uzlabo kvalitāti, izstrādes ātrumu, kā arī palīdz saprast, ka PHP ir nopietna lieta.
Jautājums jums PHP koderi - vai jūs izmantojat kādu no manis uzskaitītajām lietām vai arī paļaujaties uz aptuveni šādiem pieņēmumiem “labākais redaktors ir Notepad”, “pats esmu gudrs un man nevajag citu sakodētas lietas”, “īsti vīri atcerās ko kodēja vēl daudzus gadus un dokumentēt nav nepieciešams”, “kāda vēl versiju kontrole?”.











2008-02-21 18:00
nu cik nu man ir bijusi saskarsme, tad ļoti daudz lieto Eclipsi :)
pats nekodēju
2008-02-21 18:15
Pēdējā laikā es arī pārsedos no vienkāršajiem koderu “notepadiem” uz Aptana IDE, beidzot izveidoju savu “tjipa” freimwork’u, sāku rakstīt kārtīgāku un saprotamāku kodu, sāku to loģiski dalīt, sāku rakstīt pamanāmus un saprotamus komentārus ;)
2008-02-21 18:31
Būtu feini, ja tu plašāk apstāstītu citiem, kā katru no tām lietām organizē un dari (ar piemēriem). Nav jau grūti izstāstīt cilvēkiem, kas tas ir, kāpēc un kā tas ir jādara, bet reālajā dzīvē to pielietot neprot teju vai neviens. SVN’u izmanto kā failsistēmu, to izmantojot kā Ctrl+S advancētu versiju, bet par testiem webaplikāciju izstrādes procesā vispār tautai ir melna bilde.
2008-02-21 19:00
Ko nozīmē tā uzmanības pievēršana dokumentēšanai?
Kādu dokumentēšanas principu izmanto? Kur raksti dokumentācija?
2008-02-21 19:06
Versiju kontrole ir neatņemama sastāvdaļa jebkuram sakarīgam ne throw-away-koda programmēšanas projektam/darbam. Pat ja programmē tikai viens lietotājs. Un neatkarīgi no valodas.
Un citu koda ne-lietošana ir vispār absurda lieta.
2008-02-21 19:55
1. Dažādas biliotēkas un klases izmantoju aktīvi. Citu frameworkus gan neizmantoju, bet pie savas sistēmas pieturos.
2. Uz Linux šobrīd izmantoju Komodo Edit (bet domāju pāriet uz Aptana), bet uz Windows - Blumentals Webuilder.
3. Uz to vēl esmu slinks, bet ja klients prasa dokumentāciju, tad cenšos rakstit kārtīgi. :)
4. Standartizētas testēšanas metodes neizmantoju. SVN izmantoju.
2008-02-21 20:04
Pieturos pie šādiem apsvērumiem:
a) ja kāds saka, ka viņš lieto koda redaktoru bez sinakses iekrāsošanas, tad tas nav nopietni. Nav obligāti jāizmanto dikti spēcīgas un, iespējams, arī bremzīgas izstrādes vides (kādu laiku palietoju Zend Studio, bet tad sapratu, ka tā pārāk iebremzē), taču ir kaut kāda minimālā kopa ar iespējām, kurām ir jābūt normāla koda redaktora arsenālā. Pats lietoju WeBuilder 2007 no http://www.blumentals.net. Pliks Notepad noteikti nav nopietna atbilde.
b) par citu sakodētu lietu neizmantošanu - klasisks iesācēju domu gājiens. Protams, protams, ir forši visu rakstīt pašam un pārzināt kā un kas ir veidots, taču ir 100 un viena reize, kad neatmaksājas pašam to darīt. Vairs nav 1999. gads. Šobrīd standartizētām lietām ir pieejami ļoti labi ietvari un risinājumi, kas PHP programmēšanā beidzot cenšas ieviest labo praksi. Pats esmu paspēlējies ar Zend framework un neskaitot dažas nianses šis ietvars man diezgan labi iet pie sirds. Darbā gan ir mazliet cita specifika un tur jau gatavi ietvari īsti nav ieviešami.
c) Dokumentēšanas vajadzība un mērogs ir atkarīgs no projekta rakstura. Ja tu zini, ka tas ir tikai tavs projekts, ko tu knibini savā brīvajā laikā, tad par dokumentāciju var arī neuztraukties. Ja tas ir vairāku cilvēku kopdarbs, tad ir nopietni jāizvērtē, kas un kā ir jādokumentē, jāievieš arī kodēšanas standarts. Galvenais ir jāsamēro apjomi - lai nesanāk tā, ka dokumentēšanas procesi kavē izstrādi un nepieļauj dinamisku attīstību.
d) versiju kontrole iet pie tā paša iepriekšējā punkta - ja tu kodē viens pats tad tas __varbūt__ nav tik svarīgi, taču arī ir noderīgi. Pie tam ņemot vērā, ka tagad var salīdzinoši vienkārši tikt pie bezmaksas SVN repozitorija, īsti vairs nav iemesla šīs iespējas neizmantot :)
2008-02-22 09:19
Esmu pārsteigts par to cik daudzi tomēr pievērsuši uzmanību šim ierakstam. Turklāt tie kas iekomentējuši ir cilvēki ar ievērojamu pieredzi. Patīkami. Tas nozīmē, ka tēma ir aktuāla, kā arī maz apspriesta. Būtu jauki, ja kāds no nozares cilvēkiem padalītos ar to kā viņš dara/organizē augstāk uzskaitītās lietas.
Pats arī vēlāk mēģināšu aprakstīt sīkāk to, kas slēpjas zem uzskaitītajiem punktiem. Jāatrod tikai laiku. Ieraksts darāmo lietu sarakstā ielikts.
2008-02-22 18:28
1. Šim es pievēršu īpašu uzmanību jeb precīzāk, pirms sāku izmantot izpētu kā tas ir veidots, jo pirmajā saskarsmē ar gataviem framework`iem pārliecinājos, ka neskatoties uz to slavu tajās ir daudz rupjas kļūdas. Konkrētais gadījums bija ar PEAR, kur vienai klasei pirmajās rindās ievēroju smuku darbību ar masīvu un nākošajā rindā tika pārbaudīts vai šis mainīgais vispār ir masīvs. Taču atsevišķas gatavas klases es izmantoju savā kodā, piemēram, HTML Mime Mail.
2. Pieturos pie Notepad++, jo Java`iskos risinājumus joprojām uzskatu par lieku resursu izšķērdēšanu. Visbiežāk to var pamanīt, ja vienlaicīgi ir atvērts Firefox (varbūt vēl daži pārlūki), Java`iskais koda redaktors un kāds nopietns grafikas apstrādes rīks.
3. Slinkoju, taču atkarībā no situācijas varu sarakstīt arī ļoti nopietnus komentārus. Pamatā komentēju īpaši svarīgās lietas un sarežģītas zarošanās (>3 if`i viens zem otra ar dažādiem else vai līdzīgi cikli).
4. Neesmu manījis ne vienu sakarīgu rakstu, kurā būtu paskaidrots kādos brīžos veidot jaunu versiju, jo īpaši ja pamatā tiek izstrādāti moduļi, nevis pilna versija. Tātad neesmu izpratis kā to labāk menedžēt. Ja kodu veido vairāki cilvēki, tad parasti es izveidoju kopiju savām izmaiņām un otra cilvēka izmaiņas atstāju neaiztiktā formā rezervei. Tā sakot, mana pieredze ar versiju pārraudzības sistēmām ir nepilnīga.
Ja runā par testēšanu, tad daudzviet tā aprobežojās ar vizuālās un funkcionālās daļas atbilstības pārbaudi pret prasībām. Formām pārbaudes jau refleksīvi tiek iekļautas kodā tā tapšanas laikā.
2008-02-23 23:41
ok, es neesmu php programmētājs, bet gan Java. Kā izstrādes vide tiek izmantota Eclipse WTP, tiek izmantota arī versiju kontrole. Attiecībā uz freimvorkiem un testēšanu, tad pārsvarā tas ir porjekta specifiksa lieta. Parasti tiek testēts ar junit un freimvorks ir struts/spring.
2008-02-26 22:32
Versiju kontroli neveicu (tāpat pēdējā ir aktuālākā),
kodēju iekš UltraEdit32,
pēc iespējas cenšos izvairīties no citu risinājumiem, jo pārsvarā tie vai nu nespēj nodrošināt prasības, vai ir bagaini vai arī stipri iebremzē, jo piedāvā vairāk, kā man vajag,
Visu kodu cenšos dokumentēt (ar komentāriem) un rakstīt strukturētu - labāk pavadu 3 dienas ilgāk, bet uzrakstu īsu un saprotamu kodu, kuru pēc tam vēl gadiem varu izmantot, nekā samuģītu.