Vabandan ette enda otsekohesuse eest: “kui näen ssss…siuhsäuh hunnikut, siis ma ei ütle, et see kaunis lillepeenar”
Järjest enam kohtan vanu kolleege / vanemprogrammeerijaid, räägivad uuest trendist, mida võiks kategoriseerida laiskuse ja lohakuse valdkonda. Huumori valdkond eriti see, et puuduva tühiku ja astenduse pärast on paljudes firmades draamateater; aga puuduvad koodikommentaarid pole. Nagu ütles üks kuulus tegelane: “Tule taevas appi” !
Loogika selline, et vähegi keerukamad funktsioonid/(klassi meetodid), tuleb kirjutada koos kommentaaridega. Samuti kui on saadud mingid valemid algoritmid (tellija kontaktisikult/ analüütikult jne), siis viide kellelt saadi ja originaalvalem ka lisada kommentaari.
Kui kommenteerimise liigutus tundub nii raske, lisage vähemalt funktsiooni / muudatuse ette trac taski number. Mitte ükski inimene ei viitsi ntx Mercuriali faili ver. otsida, et miks ikkagit see tehti, võrrelda, jälle otsida. Need on kulunud töötunnid, mis = firmale kahjum.
Mida rohkem teine progeja peab otsima ja leiutama asju, seda kahjumlikum see firmale on.
Uue “põlvkonna” lause, et kood on klassipõhine, kutsutakse “self explaining”. Tõsiselt : 5000 faili, crosslinked..sürrid välja nimed (üks näide mida mina kohe mäletan). Loodan, et selle lause ütleja ka ise usub enda valet.
Kuna programmeerijad pole “püsi-vara” firmas. Nüüd kui need põhiprogrammeerijad liiguvad elus edasi (kusagil parem palgapakkumine, välisriiki tööle jne), aga nende kirjutatud koodis pole ühtegi selgitust, siis see tõsine äririsk mida normaalne firma endale ei saa lubada.
Kujutan ette palju selle kirjutise lugejaid noogutab: kus asub tööle uus motiveeritud töötaja ja vastu vaatab tonnide kaupa koodi, kus pole mingit selgitust, kirjeldust, ega ka korralikku dokumentatsiooni. Ehk siis argipäeva progemine meenutab … kaudu hambaravi.
Reaalses elus kuidagi unustatakse pidevalt alusdokumentatsiooni uuendamine ära.
Tänapäeval on ka nii, et firma X teeb ühe liidese ja ühel hetkel firma Y võtab asja üle. Loomulikult konkurendile hea kaikaid kodaratesse visata, kui anda üle kommenteerimata lähtekoodid. Samas siin saab KLIENT teha otsuse ja üldiselt soovitan klientidele ka, et nõudes sees, kood peab olema dokumenteeritud ja sisustatud selgitustega. Kui Teie nõuet ei täideta, siis te ei võta ka toodet vastu.
Samuti paljud programmeerijad meelega ei kommenteeri enda koodi, et muuda ennast “asendamatuks”. Üks asi mida kindlasti ka ei tohi lubada , on lasta vaid ühel programmeerijal mingit X Frameworki arendada, kes teab ise vaid kuidas see täpselt töötab. Siis tuleb koheselt nõuda, et asi peab olema 100% dokumenteeritud, kõik meetodid, mis klassid, kus miks mis parameeter jne.
Lõpetuseks ühe suurfirma kood (jäägu No names kategooriasse), mis minu muuta jäi.
Seal olid tõesti kommentaarid sees: kommentaarid olid, et kuule “Mida … me siin teeme”, “Pole aimugi miks see jama siin…”
jaanuar 30, 2015, 08:31 |
Kõigepealt muidugi aitäh, et üldse kirjutad. Eesti blogimaastik on nii kokku kuivanud ja ära perekoolistunud, et iga asjalik kirjutis abiks.
Aga kus on probleem?
Näiv probleem on selles, et koodi eest tasustatakse, kommentaaride eest mitte. Pole võimalik koostada automaat-testi, mis määraks, kas loomulikus keeles kirjutatud lisajutt koodi juures on asjalik, sisuline ning asja- ning ajakohane. Mida mõõta ei saa, seda aga ei saa ka tasustada.
Teine, oluliselt sügavamal peituv probleem seisneb inimeste mõttetüübis. Väga üksikute eranditega, inimene, kes on võimeline algoritmiselt lt mõtlema või kusagilt äravarastatud valemi pisukeste mugandustega koodi sisse kopeerima, ei oma kirjaniku vaimuandeid. Vastupidi, verbaalselt võimekas isik pigem valib poliitiku või advokaadi kutse, teda algoritmidesse ei tõmba. Need kaks võimet – koodikirjutamine ja kvaliteetse täisteksti kirjutamine – reeglina ühes peas kokku ei saa, need on erinevaid töörutiine nõudvad ülesanded.
Kui töötada paarides – üks teeks koodi, teine üritaks seda kontrollida ja mõista ning kirjutaks puuduoleva jutu – see formaalselt küll päästaks päeva, kuid poleks kuluefektiivne.
Ehk siis – kurb, kuid kõik jätkub vanal moel. Gartneri ennustused on täitumas, koodi kvaliteedist on saanud ühiskonna jaoks sügav probleem, mis piirneb ühiskonna üldise turvalisusega ning lahendusi ei paista kusagilt.
Ah jah, astendamise kui hõivatud termini asemel kasutatakse Eestis rohkem siiski “koodi treppimise” mõistet.