Doba popularizacije programiranja: Je li potreban standardni stil kodiranja s visokom čitljivošću?

Ovaj blog post ispituje potrebu te prednosti i nedostatke standardnog stila kodiranja za poboljšanje čitljivosti i učinkovitosti suradnje u eri u kojoj je programiranje postalo popularizirano.

 

S nedavnim napretkom IT tehnologije, interes za IT područje je porastao, što je dovelo do porasta broja ljudi koji žele naučiti programirati. Bilo da uče sami uz knjige ili pohađaju tečajeve na specijaliziranim akademijama za programiranje nekoliko mjeseci, sada je svatko mogao izraditi vlastite programe, čak i bez dubokog stručnog znanja. To je zahvaljujući razvoju raznih alata koji poboljšavaju pristupačnost programiranja. Na primjer, Google besplatno nudi Android SDK (Software Development Kit), omogućujući razvoj programa koji se pokreću na operativnom sustavu Android. Ovi alati pružaju praktičnost, pomažući čak i onima kojima nedostaje specijalizirano znanje da lako programiraju.
Međutim, činjenica da je programiranje postalo dostupno svima nije u potpunosti pozitivna. Popularizacija programiranja dovela je do nekoliko problema, posebno do poteškoća u čitanju programskog koda napisanog različitim stilovima kodiranja. Stil kodiranja analogan je stilu pisanja u kontekstu pisanja. Iako pisanje može izgledati razumljivo sve dok je gramatika ispravna, autori koriste stil prikladan svrsi teksta kako bi ga čitatelji lakše razumjeli. Na primjer, baš kao što esej zahtijeva sažet i jasan stil, a ne cvjetne izraze, tako i u kodiranju, čak i ako program funkcionira s ispravnom sintaksom, dodavanje odgovarajućeg stila kodiranja rezultira čitljivijim kodom. Suprotno tome, neprikladan stil kodiranja otežava razumijevanje koda.
Kako programi rastu, razvoj često uključuje suradnju više ljudi. Stoga programeri moraju uzeti u obzir čitljivost kako bi osigurali da drugi mogu lako čitati i razumjeti njihov kod. Međutim, nestručnjaci s ograničenim iskustvom u programiranju teško se snalaze u pisanju vrlo čitljivog koda. To je zato što se oni koji uče programiranje putem kratkoročne obuke usredotočuju isključivo na stvaranje 'programa koji nekako rade', bez učenja kako pisati 'čitljiv kod'. Kod sa slabom čitljivošću ne samo da ometa suradnju, već može uzrokovati i probleme tijekom budućih izmjena koda.
Kako bismo riješili ovaj problem, moramo uspostaviti način za početnike da pišu lako čitljiv kod. U tu svrhu predlažem usvajanje standardnog stila kodiranja. Standardni stil kodiranja odnosi se na propise koji zahtijevaju od programera da napuste svoje individualne stilove i pridržavaju se unaprijed određenog standardnog stila. Iako većina programskih jezika ne nameće ograničenja stilu kodiranja osim sintakse, standardizacija stila kodiranja može pomoći u razumijevanju koda i smanjiti probleme s čitljivošću.
Naravno, mogu postojati protuargumenti prijedlogu uspostavljanja standardnog stila kodiranja. Budući da svatko ima svoj preferirani stil kodiranja, standardni stil bi se nekim programerima mogao činiti kao nezgodno ograničenje. Kodiranje prema fiksnom stilu, a ne prema vlastitom, može biti teško i može povećati vrijeme rada. I sam sam iskusio ovu poteškoću. Prošlog lipnja, dok sam radio kao asistent u ocjenjivanju na Korejskoj informatičkoj olimpijadi, imao sam iskustvo pisanja koda koji sam studentima pružio kao model odgovora. Pokušao sam uskladiti stil prošlogodišnjih model odgovora kako bih ih studentima lakše razumio, ali praćenje nepoznatog stila značilo je da zadatak koji je trebao trajati sat vremena traje više od dva.
Iako standardni stilovi kodiranja mogu smanjiti radnu učinkovitost na ovaj način, vjerujem da imaju pozitivne učinke na mnogo načina.
Prvo, standardni stilovi kodiranja učinkoviti su za dugoročno održavanje programa. Tvrtke kontinuirano nadograđuju programe nakon objavljivanja ispravljanjem grešaka ili dodavanjem značajki. Budući da se programeri često mijenjaju tijekom ovog procesa, čitljiv kod je ključan za nove programere kako bi lako razumjeli postojeći kod. Usvajanje standardnog stila kodiranja smanjuje potrebu da se pojedinačni programeri pojedinačno usredotoče na čitljivost, a definirani stil olakšava čitanje koda.
Zapravo, neke tvrtke propisuju vlastiti stil kodiranja kako bi poboljšale učinkovitost održavanja i zahtijevaju od svih programera da ga se pridržavaju. Tijekom posjeta tvrtki Google Korea prije pet godina, Google je naglasio da svi programeri moraju slijediti definirani stil kodiranja tvrtke. S druge strane, prijatelj koji radi u tvrtki za igre spomenuo je da nemaju utvrđeni stil kodiranja.
Drugo, u trenutnom trendu gdje se projekti otvorenog koda visoko cijene, standardizirani stil kodiranja uvelike bi koristio programerima. Otvoreni kod je javno dostupan, što omogućuje ne samo profesionalnim programerima već i nestručnjacima da mu lako pristupe, omogućujući raznim korisnicima da poboljšaju funkcionalnost programa i isprave neugodnosti. Zbog ove suradničke prirode otvorenog koda, kod napisan u različitim stilovima može postati pomiješan, što ga čini teškim za razumijevanje. Često koristim otvoreni kod vezan uz računalnu grafiku i osobno sam imao poteškoća s čitanjem koda zbog raznolikosti stilova kodiranja. Standardizirani stil kodiranja mogao je ublažiti ovu neugodnost.
Treće, standardizirani stilovi kodiranja također mogu poboljšati učinkovitost u obrazovanju programera. To također smanjuje opterećenje edukatora. Prisjećajući se svog iskustva kao instruktora na akademiji za programiranje, provodio sam značajno vrijeme čitajući studentski kod i ispravljajući probleme. Studenti su se obično usredotočivali na pisanje 'radnog koda', a ne na 'čitljiv kod'. Nečitljiv kod otežavao je pronalaženje grešaka, zahtijevajući znatno vrijeme, trud i uzrokujući značajan stres. Da su studenti pisali kod pridržavajući se standardnog stila, te bi se poteškoće smanjile. Odjel za računarstvo na Nacionalnom sveučilištu u Seulu također nudi nekoliko tečajeva koji uključuju procjene čitljivosti, potičući studente da pišu vrlo čitljiv kod. Dakle, standardizirani stil kodiranja koristi i edukatorima i studentima.
Iz perspektive učenika, standardizirani stilovi kodiranja mogu smanjiti zbunjenost i potaknuti motivaciju. Knjige o programiranju i online tečajevi često koriste nedosljedne stilove, a ponekad čak i podučavaju netočne. Kao učenicima, teško je procijeniti ispravnost tih stilova, a njihovo jednostavno praćenje može dovesti do toga da postanu programeri koji pišu nečitljiv kod. Posjedovanje standardnog stila spriječilo bi ovaj problem.
Iako smo raspravljali o pozitivnim učincima koje bi standardizirani stil kodiranja mogao donijeti, moramo razmotriti i izvedivost standardizacije. S druge strane, zbog matematičkog modela programskih jezika, računalima može biti izazovno obraditi stil kodiranja izvan same sintakse. Nadalje, postoje poteškoće u pretvaranju cjelokupnog postojećeg koda napisanog u različitim stilovima kako bi se uskladio sa standardom, a postoje i rasprave o tome koji stil treba usvojiti kao standard.
Pronalaženje pozitivnog rješenja za ove probleme izvedivosti je teško, ali kako istraživanje napreduje, mogućnosti se postupno povećavaju. Na primjer, Python ulaže napore u reguliranje stila kodiranja dodavanjem sintaktičkog uvjeta koji se naziva pravilo uvlačenja.
Ukratko, standardizacija stilova kodiranja ima značajne pozitivne učinke na održavanje, promociju otvorenog koda i obrazovanje. Studenti informatike, oni koji to nisu i svi koji su zainteresirani za programiranje moraju težiti pisanju lako čitljivog koda. Iako je to u trenutnoj situaciji teško bez standardnog stila, vjerujem da je standardizirani stil kodiranja apsolutno potreban iz tih razloga.

 

O autoru

Pisac

Ja sam "Detektiv za mačke" i pomažem u ponovnom spajanju izgubljenih mačaka s njihovim obiteljima.
Punim se energijom uz šalicu café lattea, uživam u šetnji i putovanjima te proširujem svoje misli pisanjem. Pažljivim promatranjem svijeta i slijedeći svoju intelektualnu znatiželju kao blogerica, nadam se da moje riječi mogu ponuditi pomoć i utjehu drugima.