Programmēšanas popularizācijas laikmets: vai ir nepieciešams standarta kodēšanas stils ar augstu lasāmību?

Šajā emuāra ierakstā tiek aplūkota standarta kodēšanas stila nepieciešamība, plusi un mīnusi, lai uzlabotu lasāmību un sadarbības efektivitāti laikmetā, kad programmēšana ir kļuvusi populāra.

 

Līdz ar neseno IT tehnoloģiju attīstību ir pieaugusi interese par IT jomu, kā rezultātā pieaug to cilvēku skaits, kuri vēlas apgūt programmēšanu. Neatkarīgi no tā, vai mācāties patstāvīgi ar grāmatām vai dažus mēnešus apmeklējat kursus specializētās programmēšanas akadēmijās, tagad ikviens var izveidot savas programmas, pat bez padziļinātām zināšanām. Tas ir pateicoties dažādu rīku attīstībai, kas uzlabo programmēšanas pieejamību. Piemēram, Google bez maksas nodrošina Android SDK (Software Development Kit), kas ļauj izstrādāt programmas, kas darbojas Android operētājsistēmā. Šie rīki nodrošina ērtības, palīdzot pat tiem, kuriem trūkst specializētu zināšanu, viegli programmēt.
Tomēr fakts, ka programmēšana ir kļuvusi pieejama ikvienam, nav pilnībā pozitīvs. Programmēšanas popularizācija ir radījusi vairākas problēmas, īpaši grūtības lasīt programmas kodu, kas rakstīts dažādos kodēšanas stilos. Kodēšanas stils ir analogs rakstīšanas stilam rakstīšanas kontekstā. Lai gan rakstīšana var šķist saprotama, ja vien gramatika ir pareiza, autori izmanto teksta mērķim atbilstošu stilu, lai lasītājiem būtu vieglāk to saprast. Piemēram, tāpat kā esejai ir nepieciešams kodolīgs un skaidrs stils, nevis pušķoti izteicieni, arī kodēšanā, pat ja programma darbojas ar pareizu sintaksi, atbilstoša kodēšanas stila pievienošana nodrošina lasāmāku kodu. Turpretī nepiemērots kodēšanas stils apgrūtina koda izpratni.
Programmām kļūstot lielākām, to izstrāde bieži vien ietver vairāku cilvēku sadarbību. Tāpēc programmētājiem ir jāņem vērā lasāmība, lai nodrošinātu, ka citi var viegli izlasīt un saprast viņu kodu. Tomēr neekspertiem ar ierobežotu programmēšanas pieredzi ir grūti rakstīt viegli lasāmu kodu. Tas ir tāpēc, ka tie, kas apgūst programmēšanu īslaicīgās apmācībās, koncentrējas tikai uz "programmu, kas kaut kā darbojas", izveidi, nemācoties rakstīt "lasāmu kodu". Kods ar sliktu lasāmību ne tikai kavē sadarbību, bet arī var radīt problēmas turpmāko koda modifikāciju laikā.
Lai atrisinātu šo problēmu, mums ir jāizveido veids, kā iesācējiem rakstīt viegli lasāmu kodu. Šajā nolūkā es ierosinu ieviest standarta kodēšanas stilu. Standarta kodēšanas stils attiecas uz noteikumiem, kas programmētājiem pieprasa atteikties no saviem individuālajiem stiliem un ievērot iepriekš noteiktu standarta stilu. Lai gan lielākā daļa programmēšanas valodu neuzliek nekādus ierobežojumus kodēšanas stilam, izņemot sintaksi, kodēšanas stila standartizēšana var palīdzēt koda izpratnei un mazināt lasāmības problēmas.
Protams, priekšlikumam par standarta kodēšanas stila izveidi var būt pretargumenti. Tā kā ikvienam ir savs vēlamais kodēšanas stils, standarta stils dažiem programmētājiem varētu šķist neērts ierobežojums. Kodēšana pēc fiksēta stila, nevis pēc sava, var būt sarežģīta un var palielināt darba laiku. Es pats esmu saskāries ar šo grūtību. Pagājušā gada jūnijā, strādājot par vērtēšanas asistentu Korejas informātikas olimpiādē, man bija pieredze koda rakstīšanā, lai to izmantotu kā parauga atbildi studentiem. Es centos pielāgot pagājušā gada parauga atbilžu stilu, lai studentiem būtu vieglāk to saprast, taču nepazīstama stila ievērošana nozīmēja, ka uzdevums, kam vajadzēja aizņemt stundu, aizņēma vairāk nekā divas.
Lai gan standarta kodēšanas stili var šādi samazināt darba efektivitāti, es uzskatu, ka tiem ir pozitīva ietekme daudzējādā ziņā.
Pirmkārt, standarta kodēšanas stili ir efektīvi programmu ilgtermiņa uzturēšanai. Uzņēmumi pēc izlaišanas nepārtraukti uzlabo programmas, labojot kļūdas vai pievienojot funkcijas. Tā kā programmētāji šajā procesā bieži mainās, lasāms kods ir būtisks, lai jaunie programmētāji varētu viegli saprast esošo kodu. Standarta kodēšanas stila ieviešana samazina nepieciešamību atsevišķiem programmētājiem individuāli koncentrēties uz lasāmību, un definētais stils padara kodu vieglāk lasāmu.
Patiesībā daži uzņēmumi nosaka savu kodēšanas stilu, lai uzlabotu uzturēšanas efektivitāti, un pieprasa, lai visi programmētāji to ievērotu. Pirms pieciem gadiem, apmeklējot Google Korea, Google uzsvēra, ka visiem programmētājiem ir jāievēro uzņēmuma noteiktais kodēšanas stils. Turpretī kāds draugs, kas strādā spēļu uzņēmumā, minēja, ka viņiem nav noteikta kodēšanas stila.
Otrkārt, pašreizējā tendencē, kur atvērtā pirmkoda projekti tiek augstu vērtēti, standarta kodēšanas stils būtu liels ieguvums programmētājiem. Atvērtā pirmkoda kods ir publiski pieejams, ļaujot tam viegli piekļūt ne tikai profesionāliem programmētājiem, bet arī nespeciālistiem, ļaujot dažādiem lietotājiem uzlabot programmas funkcionalitāti un novērst neērtības. Šī atvērtā pirmkoda sadarbības rakstura dēļ dažādos stilos rakstīts kods var sajaukties, apgrūtinot tā izpratni. Es bieži izmantoju ar datorgrafiku saistītu atvērtā pirmkoda kodu, un personīgi esmu saskāries ar grūtībām lasīt kodu dažādo kodēšanas stilu dēļ. Standartizēta kodēšanas stila ieviešana varētu mazināt šīs neērtības.
Treškārt, standartizēti kodēšanas stili var arī uzlabot programmēšanas apmācības efektivitāti. Tas arī samazina pedagogu slodzi. Atceroties savu pieredzi kā programmēšanas akadēmijas instruktors, es veltīju ievērojamu laiku studentu koda lasīšanai un problēmu labošanai. Studenti mēdza koncentrēties uz “darba koda”, nevis “lasāma koda” rakstīšanu. Nesalasāms kods apgrūtināja kļūdu atrašanu, prasot ievērojamu laiku, pūles un radot ievērojamu stresu. Ja studenti būtu rakstījuši kodu, ievērojot standarta stilu, šīs grūtības būtu mazinājušās. Seulas Nacionālās universitātes Datorzinātņu katedra piedāvā arī vairākus kursus, kas ietver lasāmības novērtējumus, mudinot studentus rakstīt viegli lasāmu kodu. Tādējādi standartizēts kodēšanas stils sniedz labumu gan pedagogiem, gan studentiem.
No studenta viedokļa standartizēti kodēšanas stili var mazināt apjukumu un veicināt motivāciju. Programmēšanas grāmatas un tiešsaistes kursi bieži izmanto nekonsekventus stilus un dažreiz pat māca nepareizus. Mācību procesā ir grūti spriest par šo stilu pareizību, un, vienkārši ievērojot tos, var kļūt par programmētāju, kurš raksta nelasāmu kodu. Standarta stila ieviešana novērstu šo problēmu.
Lai gan esam apsprieduši standartizēta kodēšanas stila pozitīvos efektus, mums jāapsver arī standartizācijas iespējamība. No otras puses, programmēšanas valodu matemātiskā modeļa dēļ datoriem var būt grūti apstrādāt kodēšanas stilu, kas pārsniedz tikai sintaksi. Turklāt pastāv grūtības konvertēt visu esošo kodu, kas rakstīts dažādos stilos, lai tas atbilstu standartam, un notiek debates par to, kurš stils būtu jāpieņem par standartu.
Atrast pozitīvu risinājumu šīm iespējamības problēmām ir grūti, taču, pētniecībai progresējot, iespējas pakāpeniski palielinās. Piemēram, Python pieliek pūles, lai regulētu kodēšanas stilu, pievienojot sintakses nosacījumu, ko sauc par atkāpes noteikumu.
Rezumējot, kodēšanas stilu standartizācijai ir ievērojama pozitīva ietekme uz uzturēšanu, atvērtā pirmkoda popularizēšanu un izglītību. Datorzinātņu studentiem, citu specialitāti studentiem un ikvienam, kas interesējas par programmēšanu, ir jācenšas rakstīt viegli lasāmu kodu. Lai gan pašreizējā situācijā tas ir grūti bez standarta stila, es uzskatu, ka standartizēts kodēšanas stils ir absolūti nepieciešams šo iemeslu dēļ.

 

Par autoru

Scenārija autors

Esmu "kaķu detektīvs", kas palīdz atkalapvienot pazudušos kaķus ar viņu ģimenēm.
Es atjaunoju spēkus, malkojot kafijas krūzi, izbaudu pastaigas un ceļošanu, un paplašinu savas domas, rakstot. Vērojot pasauli uzmanīgi un sekojot savai intelektuālajai zinātkārei kā bloga rakstītāja, es ceru, ka mani vārdi var sniegt palīdzību un mierinājumu citiem.