.st0{fill:#FFFFFF;}

Kuidas noppida programmist spagette välja? 

 February 28, 2021

By  Marko Rillo

TalTech IT süsteemide arenduse õppekava esimesel semestril õppisime koodi kirjutamisel semantikat. Kui programmeerimise lingvistika keeles hinnata, siis esimene semester keskendus sellele, et selgeks saada sõnad. Sisuliselt – kui kood appi võtta, siis kuidas enda soovid arvutile selgeks teha. Teisel semestril oleme lingvistika võtmes keskendunud rohkem keelereeglitele ja kirjatehnikale. Ehk nüüd on aeg õppida koodi kirjutamist nii, et teised inimesed ka seda lugeda mõistaksid.

Üheks “segase koodi” sõimusõnaks on itaalia pastaroog – spagetid. Nimelt on ristitud spaghetti code prejoratiivse määratlusega programmikoodi, mis lookleb ühelt realt teisele nii et ühel hetkel pole ka tähelepanelikul lugejal võimalik olulise keskendumisvõimeta enam aru saada, et mida sellega üritatakse saavutada.

Niisiis on soovitus – kirjuta koodi nii lihtsalt, et seda oleks lihtne ja mõnus lugeda.

Üks lingvistiline spagett mugimiseks:

<spagett>

Mnjah – spagettidest hoidumise soovitus programmeerimise käigus võib olla küll üpriski lihtne esitada, aga praktikas palju keerulisem teostada, sest kui mingil hetkel üritada oma peas žongleerida koodi kirjutamise käigus mitme paralleelse muutuja ja protsessiga ning püüda seda kõike mis sul sel hetkel peas on paralleelselt liikumas ja alles selgeks mõtteks moondumas, samm-sammulisse loogilisse jadasse panna, mis arvutisse sisestamise käigus mitte kuhugile otseselt kaotsi ei lähe, siis olulisem on mõtteselguse asemel pigem tempo mõttepursatust klahvide kaudu kiirelt süntaksiks moodustada, mistõttu praktikas kipub mistahes headest kavatsustest hoolimata sündima selle käigus niivõrd pika loomuga programmlause, mille algust ja otsa on kummaliselt keeruline üles leida ja sel ajahetkel polegi sellest absoluttselt hullu, sest olulisem kui formulatsiooniprotsess on tegelikult interpretatsiooni käigus toimuv mõtestamisprotsess, mille käigus koodi kui mõtte sündimise käigus toimub ka sisuliselt uus looming ja selle loomingu samaaegne metatasandil mõtestamine vormis, mis ei ole enam tavapärase mõtteprotsessi osa vaid justkui paralleelina tammsaareliku vaatega elule, elustiilile, elu mõttele, iseenda ja oma omandi kohale selles, ja ühtäkki leiadki ennast iseendalegi üllatuseks selle meeletud pika lause keskosast, mille põimuvate ja ristuvate mõtiskluste vahepealsesse lainesse oled sa sattunud ning ei suuda seda enam kuidagi lõpuni viia, pealekauba kui siis üritaks seda kuidagi lõpetama hakata, siis tekib ka endal kummaline tunne, et miks siis nüüd just lõpuks peaks midagi säärast tegema, sest tegelikult tundub see üha kasvava lause lisanduvate mõttekonstruktsioonide ühendamise teel päris mõnusaks aruteluks muutumas, mille lühendamine või siis mingilgi moel struktureerimine alamkategooriateks, punktueerides seda väga selgelt piiritlevate kirjavahemärkidega, mis sunniks sügavamat hingetõmmet tegema või mõttepausi peale pressima, ei anna antud hetkel ju mitte mingisugust lisandväärtust, mis omakorda tundubki üpriski otstarbetu ettevõtmisena ning kui see kõik mis siis programmlause loomingu käigus lõpuks arvutisse trükitud saab, siis enamasti tundubki tegemist olevat teosega, mis oma laadilt on tervikliku loomuga, mida on omakorda keeruline otsast harutama hakata.

</spagett>

Huhh. Niimoodi siis. Kui siis nüüd seda eelmist lõiku vaadata. Tõsiselt vaadata. Siis näeb, et võib-olla oli selle koostamise käigus mingi point olemas. Äkki päris mitu mõtet. Aga tegelikkuses vajab see toimetaja kätt.

Märt Kalmo Java programmeerimise õppeaines oli tänase loengu üks esimesi soovitusi saada hästi sõbraks klahvikombinatsiooniga Ctrl + Alt + M, mis kõikides IntelliJ IDE-des lubab pisut segasema koha funktsioonis või klassis välja eraldi meetodiks. Mõnuga avastasin, et nii võis võtta mitu eelmisel semestril Pythonis koostatud koodinäidet ja voila – ainult mõne klõpsuga luua seal palju parem struktuur. Selle kohta on kirjutatud nii IntelliJ kui ka PyCharm dokumentatsioonis pisut täpsemalt.

Selleks tuleb ära märkida keerulisevõitu koodijupi terviklik alamsektsioon, klõpsata Ctrl+Alt+M ja maagia hakkab tööle. IDE analüüsib hetkega valitud koodi sisu, haarab sealt välja soovitavate sisend- ja väljundparameetrite nimetused, laseb anda meetodile nimetuse, klõpsad “OK” ja ongi valmis. Nii lihtsalt käibki – üks pundar spagettist ongi lahti harutatud ainult kolme klahvivajutusega.

PyCharm screenshot Extract Method: Ctrl + Alt + M

Autorist ...

Marko Rillo on juhtimiskonsultant, koolitaja ja executive coach. Temaga saab ühendust siit

Blogipostitused:

Leave a Reply:

Your email address will not be published. Required fields are marked

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}