Doba popularizacije programiranja: Ali je potreben standardiziran slog kodiranja z visoko berljivostjo?

Ta objava na blogu preučuje nujnost ter prednosti in slabosti standardnega sloga kodiranja za izboljšanje berljivosti in učinkovitosti sodelovanja v dobi, ko je programiranje postalo popularizirano.

 

Z nedavnim napredkom IT-tehnologije se je zanimanje za področje IT povečalo, kar je privedlo do porasta števila ljudi, ki se želijo naučiti programiranja. Ne glede na to, ali se učijo samo s knjigami ali nekajmesečno obiskujejo tečaje na specializiranih akademijah za programiranje, je zdaj mogoče, da vsakdo ustvari svoje programe, tudi brez poglobljenega strokovnega znanja. To je mogoče zahvaliti razvoju različnih orodij, ki izboljšujejo dostopnost programiranja. Google na primer brezplačno ponuja Android SDK (komplet za razvoj programske opreme), ki omogoča razvoj programov, ki delujejo v operacijskem sistemu Android. Ta orodja zagotavljajo udobje in pomagajo tudi tistim, ki nimajo specializiranega znanja, enostavno programirati.
Vendar pa dejstvo, da je programiranje postalo dostopno vsem, ni povsem pozitivno. Popularizacija programiranja je privedla do več težav, zlasti težav pri branju programske kode, napisane v različnih slogih kodiranja. Slog kodiranja je v kontekstu pisanja analogen slogu pisanja. Čeprav se pisanje morda zdi razumljivo, dokler je slovnica pravilna, avtorji uporabljajo slog, ki ustreza namenu besedila, da ga bralci lažje razumejo. Na primer, tako kot esej zahteva jedrnat in jasen slog in ne cvetličnih izrazov, tudi pri kodiranju, tudi če program deluje s pravilno sintakso, dodajanje ustreznega sloga kodiranja povzroči bolj berljivo kodo. Nasprotno pa neustrezen slog kodiranja otežuje razumevanje kode.
Ko programi rastejo, razvoj pogosto vključuje sodelovanje med več ljudmi. Zato morajo programerji upoštevati berljivost, da zagotovijo, da lahko drugi zlahka berejo in razumejo njihovo kodo. Vendar pa imajo nestrokovnjaki z omejenimi izkušnjami programiranja težave s pisanjem zelo berljive kode. To je zato, ker se tisti, ki se programiranja učijo s kratkoročnim usposabljanjem, osredotočajo izključno na ustvarjanje »programov, ki nekako delujejo«, ne da bi se naučili pisati »berljivo kodo«. Koda s slabo berljivostjo ne le ovira sodelovanje, temveč lahko povzroči tudi težave pri prihodnjih spremembah kode.
Da bi rešili to težavo, moramo začetnikom omogočiti pisanje zelo berljive kode. V ta namen predlagam sprejetje standardnega sloga kodiranja. Standardni slog kodiranja se nanaša na predpise, ki od programerjev zahtevajo, da opustijo svoje individualne sloge in se držijo vnaprej določenega standardnega sloga. Čeprav večina programskih jezikov ne nalaga nobenih omejitev glede sloga kodiranja, razen sintakse, lahko standardizacija sloga kodiranja pomaga pri razumevanju kode in zmanjša težave z berljivostjo.
Seveda lahko obstajajo protiargumenti proti predlogu o vzpostavitvi standardnega sloga kodiranja. Ker ima vsak svoj najljubši slog kodiranja, se lahko standardni slog nekaterim programerjem zdi neprijetna omejitev. Kodiranje po fiksnem slogu in ne po lastnem je lahko težavno in lahko podaljša delovni čas. To težavo sem dejansko izkusil tudi sam. Junija lani sem med delom kot asistent pri ocenjevanju na korejski računalniški olimpijadi imel izkušnjo pisanja kode, ki sem jo študentom ponudil kot vzorčni odgovor. Poskušal sem se ujemati s slogom lanskoletnih vzorčnih odgovorov, da bi jih študenti lažje razumeli, vendar je sledenje neznanemu slogu pomenilo, da je naloga, ki bi morala trajati eno uro, trajala več kot dve.
Čeprav lahko standardni slogi kodiranja na tak način zmanjšajo delovno učinkovitost, verjamem, da imajo na več načinov pozitivne učinke.
Prvič, standardni slogi kodiranja so učinkoviti za dolgoročno vzdrževanje programov. Podjetja programe po izdaji nenehno nadgrajujejo z odpravljanjem napak ali dodajanjem funkcij. Ker se programerji med tem postopkom pogosto spreminjajo, je berljiva koda bistvenega pomena za nove programerje, da zlahka razumejo obstoječo kodo. Uporaba standardnega sloga kodiranja zmanjšuje potrebo posameznih programerjev, da se individualno osredotočajo na berljivost, opredeljen slog pa olajša branje kode.
Pravzaprav nekatera podjetja za izboljšanje učinkovitosti vzdrževanja predpisujejo svoj lastni slog kodiranja in zahtevajo, da se ga vsi programerji držijo. Med obiskom podjetja Google Korea pred petimi leti je Google poudaril, da morajo vsi programerji upoštevati slog kodiranja, ki ga je določilo podjetje. Nasprotno pa je prijatelj, ki dela v podjetju za igre, omenil, da nimajo določenega sloga kodiranja.
Drugič, v trenutnem trendu, ko so projekti odprte kode zelo cenjeni, bi standardiziran slog kodiranja zelo koristil programerjem. Odprtokodna koda je javno dostopna, kar omogoča enostaven dostop ne le profesionalnim programerjem, temveč tudi nestrokovnjakom, kar različnim uporabnikom omogoča izboljšanje funkcionalnosti programa in odpravljanje nevšečnosti. Zaradi te sodelovalne narave odprte kode se lahko koda, napisana v različnih slogih, pomeša, zaradi česar jo je težko razumeti. Pogosto uporabljam odprtokodno kodo, povezano z računalniško grafiko, in osebno sem imel težave z branjem kode zaradi raznolikosti slogov kodiranja. Standardiziran slog kodiranja bi lahko ublažil to nevšečnost.
Tretjič, standardizirani slogi kodiranja lahko povečajo tudi učinkovitost pri izobraževanju programiranja. To tudi zmanjša obremenitev pedagogov. Spominjam se svojih izkušenj kot inštruktor na akademiji za programiranje, saj sem veliko časa porabil za branje kode študentov in odpravljanje težav. Študenti so se običajno osredotočali na pisanje »delujoče kode« in ne na »berljivo kodo«. Neberljiva koda je oteževala iskanje napak, zahtevala je veliko časa, truda in povzročala veliko stresa. Če bi študenti pisali kodo v skladu s standardnim slogom, bi se te težave zmanjšale. Oddelek za računalništvo na Nacionalni univerzi v Seulu ponuja tudi več tečajev, ki vključujejo ocenjevanje berljivosti in spodbujajo študente k pisanju zelo berljive kode. Standardiziran slog kodiranja tako koristi tako pedagogom kot študentom.
Z vidika študenta lahko standardizirani slogi kodiranja zmanjšajo zmedo in povečajo motivacijo. Knjige o programiranju in spletni tečaji pogosto uporabljajo nedosledne sloge in včasih celo učijo napačne. Kot učenci je težko presoditi pravilnost teh slogov, in že samo njihovo sledenje lahko privede do tega, da postanemo programerji, ki pišejo neberljivo kodo. Standardiziran slog bi to težavo preprečil.
Čeprav smo razpravljali o pozitivnih učinkih, ki jih lahko prinese standardiziran slog kodiranja, moramo upoštevati tudi izvedljivost standardizacije. Po drugi strani pa je zaradi matematičnega modela programskih jezikov za računalnike lahko izziv obdelati slog kodiranja, ki presega zgolj sintakso. Poleg tega obstajajo težave pri pretvorbi vse obstoječe kode, napisane v različnih slogih, da bi bila skladna s standardom, in obstajajo razprave o tem, kateri slog naj se sprejme kot standard.
Najti pozitivno rešitev za ta vprašanja izvedljivosti je težko, vendar se z napredovanjem raziskav možnosti postopoma povečujejo. Python si na primer prizadeva regulirati slog kodiranja z dodajanjem sintaktičnega pogoja, imenovanega pravilo zamika.
Skratka, standardizacija slogov kodiranja ima pomembne pozitivne učinke na vzdrževanje, promocijo odprtokodne programske opreme in izobraževanje. Študenti računalništva, študenti brez nje in vsi, ki jih zanima programiranje, si morajo prizadevati za pisanje zelo berljive kode. Čeprav je to v trenutnih razmerah brez standardnega sloga težko, menim, da je standardiziran slog kodiranja zaradi teh razlogov nujno potreben.

 

O avtorju

Writer

Sem "mačji detektiv" in pomagam izgubljenim mačkam ponovno najti njihove družine.
Ob skodelici kavnega kave s kavo se napolnim z energijo, uživam v sprehodih in potovanjih ter širim svoje misli s pisanjem. Kot blogerka upam, da bodo moje besede v pomoč in tolažbo ponudile drugim, saj svet opazujem natanko in sledim svoji intelektualni radovednosti.