
Kai yra kuriama programa arba tinklalapis, visa sistema susideda iš didelės krūvos programinio kodo, kuris suskirstytas į failus/klases/bibliotekas/katalogus ir kt. Ir yra didelė tikimybė, kad kada nors tą kodą reikės suprasti kažkam kitam, kuris tą kodą matys pirmąjį kartą. Arba kad ir jums patiems po metų ar dviejų. Taigi, kaip padaryti, kad kodas ne tik teisingai veiktų, bet ir būtų pakankamai lengvai skaitomas?
1. Trumpas komentaras failo pradžioje
Turbūt visada malonu failo pradžioje gauti informaciją apie tai, ką gi tas failas daro ir kokia yra jo paskirtis. Be abejo, kartais tai suprantama ir iš failo pavadinimo bei katalogo, kuriame jis yra, tačiau dažnai to nepakanka. Užtektų trumpo kelių sakinių aprašymo iš serijos “klasė, skirta darbui su Excel failais”. Taip pat galima paminėti kada failas sukurtas/modifikuotas, bet dažnai tą informaciją galima rasti ir kitur (versijų kontrolės sistemoje ar tiesiog pažiūrėjus į failo savybes). Čia kaip prisistatymas: “Aš esu Jonas Jonaitis, man 30 metų, dirbu ten ir ten…” Taip ir čia: “aš esu Excel klasė, buvau sukurta prieš 2 metus, ir mane galima panaudoti ten ir ten…”
2. Ilgesni failai – daugiau painiavos
Jei viename faile susikaupia daugiau nei 1000 eilučių programinio kodo, tai dažniausiai yra ženklas, kad jį reikia skaidyti į smulkesnius loginius vienetus. Čia gana ginčytinas punktas, kadangi kartais kaip tik patogiau sugrūsti visas vieno tipo funkcijas į vieną klasę ar vieną failą, bet skaitomumo atžvilgiu tai pliuso nepriduoda. Ar jums būtų patogu skaityti laikraščio straipsnį, kuris būtų 15 puslapio ilgumo ir nesuskirstytas į skirsnius?
3. Tarpai tarp eilučių ir nuo eilutės pradžios
Kiekvienas programuotojas ar komanda turi savo kodavimo stilių/standartą, kur deda tarpus, kiek eilučių palieka tarp atskirų funkcijų ar kitokių struktūrų ir t.t. Tie stiliai gali skirtis nuo programavimo kalbos, paties žmogaus įpročių ar kitokių faktorių, tačiau principas toks, kad standartas PRIVALO BŪTI. Pvz, rašant ciklą ar sąlygos sakinį, jo “kūną” reikia būtinai rašyti paties blogo viduje. Arba kitas pavyzdys – kad tarp dviejų funkcijų būtinai turi būti bent vienos eilutės tarpas. Na ir tokių pavyzdžių daug, kad ir kokį stilių propaguotumėte, tikslas tas pats – kodas turi būti lengvai skaitomas ir nevarginti akių bei smegenų. Laimei, dauguma šiuo laikinių IDE ir redaktorių padeda programuotojams, automatizuodami visus tokių tarpų rašymus.
4. Pavadinimai, pavadinimai, pavadinimai
Savo gyvenime esu matęs ne vieną kodo gabalą, kurį teko prakeikti vien dėl nesąmoningų kintamųjų vardų, iš kurių visiškai neaišku, kam jie skirti ir kur baigiasi jų veikimo sritis. Dar gerai, jeigu kintamieji vadinami “a”, “b”, “c”, “i” ir panašiai – bet ir tai yra blogai (išskyrus labai jau lokalius kintamuosius). O geresni perliukai, kai programuotojai įjungia humoro jausmą ir pradeda asmenuoti savo kintamuosius ir galvoti jiems vardus iš gyvenimo, pvz “HomerSimpson” arba “IhateMyBoss”.
5. Trumpi komentarai prie funkcijų
Ši taisyklė panaši į pirmą punktą. Negi sunku prieš kiekvieną funkciją parašyti trumpą sakinio komentarą. Programuotojas, priartėjęs prie kažkurio objekto, turi lengvai perprasti jo paskirtį, antraip nežinos, kaip jį panaudoti ar modifikuoti. Čia panašiai, kaip prie jūsų pribėga vidutinio ūgio šuo – manau, jūs norėtumėte žinoti, ar jis piktas ir ar gali įkąsti, ar tik pavizgins uodegą ir nubėgs. Ir tai būtų pravartu PRIEŠ artimesnį susipažinimą su šuniu, o ne tada, kai jau būtų per vėlu.
6. Nepalikite užkomentuoto kodo
Sena programuotojų liga – jeigu kažkokio kodo gabalo nebereikia, tai jo netrina, o užkomentuoja, su ta mintimi, kad kada nors dar galbūt prireiks. Bet dažniausiai tokiu atveju kodas pamirštamas ir vėliau tik teršia programavimo aplinką. O nauji atėję programuotojai tuo labiau nežino, kam šis užkomentuotas kodas skirtas, ir nedrįsta jo trinti. Taip palaipsniui kodas apauga kerpėm ir pelėsiais.
- – -
Tai vat tiek trumpų patarimų iš mano praktikos. Gal jūs ką nors pridėsite iš savęs?






July 19, 2010 2:23 pm
Na visi punktai labai svarbūs. Galbūt pridėčiau tai, kad reiktų naudoti kodo perpanaudojimo (kartu pagerins netik skaitymą, bet ir usability).
Kaip ir minėjai daug kas priklauso nuo programavimo kalbos. Pavyzdžiui naudojant JAVA yra tamtikros taisyklės kaip pavadinti klases, kintamuosius ir t.t (http://java.sun.com/docs/codeconv/html/CodeConvTOC.doc.html) Naudojant šias taisykles parašytas kodas tikrai daug suprantamesnis ir aiškesnis.
July 19, 2010 5:28 pm
tinkamai pavadinus funkcijas, kintamuosius, nereikia ir komentarų
o kartais komentaras kaip nesuprantu kodėl veikia, tai tik prajuokins ir tiek
))
July 20, 2010 2:41 pm
@Pow galbūt, bet kai sistemoje šitai klasių, o apie metodus nebekalbu, tai labai sunku kartais susigaudyti, kai kūrėjas nori viską pasakyti pavadinimu
July 20, 2010 7:23 pm
O mane truputį pakraupino pirmasis paveikslėlis
) Aišku, tai tik iliustracija, bet tam, kuris supranta, kaip reikia gerai rašyti HTML, toks kodas kraupus. Pirma, yra metamas iš specifikacijos, antra argumentai (beveik visąlaik) neskirti aprašyti stiliui, o trečia nėra gera praktika naudoti short tags, nes vis dar atsiranda shared host’ų, kuriuose tokie skriptai paprastai neveiks
July 22, 2010 3:14 pm
O kaip patartum gerai rašyt html su php kodą?
July 22, 2010 3:24 pm
Tomai, patarčiau visą HTML išdėstymą iškelti į šablonus ar views ar kaip bepavadinsi, o visą PHP kodą palikti tik kur PHP. Pavyzdys – “Smarty” šablonų varikliukas.
July 24, 2010 12:13 am
Būtų gerai jei padarytum kokią pamoką apie tai kaip html ir php reikia taisiklingai skirti, nes labai nepatogu iš tiesų juos jungti, ypač kai būna lentelių nemažai. Dėkui.