Populariseringen av programmering: Er en standard kodestil med høy lesbarhet nødvendig?

Dette blogginnlegget undersøker nødvendigheten av og fordelene og ulempene med en standard kodestil for å forbedre lesbarheten og samarbeidseffektiviteten i en tid der programmering har blitt populært.

 

Med den nylige utviklingen innen IT-teknologi har interessen for IT-feltet økt, noe som har ført til en økning i antall folk som ønsker å lære programmering. Enten man studerer alene med bøker eller tar kurs ved spesialiserte programmeringsakademier i noen måneder, er det nå mulig for alle å lage sine egne programmer, selv uten dyp ekspertise. Dette er takket være utviklingen av ulike verktøy som forbedrer tilgjengeligheten til programmering. For eksempel tilbyr Google Android SDK (Software Development Kit) gratis, noe som muliggjør utvikling av programmer som kjører på Android-operativsystemet. Disse verktøyene gir bekvemmelighet, og hjelper selv de som mangler spesialisert kunnskap med å programmere enkelt.
Det at programmering har blitt tilgjengelig for alle er imidlertid ikke utelukkende positivt. Populariseringen av programmering har ført til flere problemer, spesielt vanskeligheten med å lese programkode skrevet i forskjellige kodestiler. Kodestil er analog med skrivestil i skrivesammenheng. Selv om skriving kan virke forståelig så lenge grammatikken er korrekt, bruker forfattere en stil som er passende for tekstens formål for å gjøre det lettere for leserne å forstå. For eksempel, akkurat som et essay krever en konsis og klar stil i stedet for blomstrende uttrykk, vil det også i koding, selv om et program fungerer med korrekt syntaks, resultere i mer lesbar kode å legge til en passende kodestil. Omvendt gjør en upassende kodestil koden vanskelig å forstå.
Etter hvert som programmer vokser seg større, innebærer utvikling ofte samarbeid mellom flere personer. Derfor må programmerere vurdere lesbarhet for å sikre at andre enkelt kan lese og forstå koden deres. Imidlertid sliter ikke-eksperter med begrenset programmeringserfaring med å skrive svært lesbar kode. Dette er fordi de som lærer programmering gjennom kortvarig opplæring, utelukkende fokuserer på å lage «programmer som på en eller annen måte fungerer», uten å lære å skrive «lesbar kode». Kode med dårlig lesbarhet hindrer ikke bare samarbeid, men kan også forårsake problemer under fremtidige kodeendringer.
For å løse dette problemet må vi finne en måte for nybegynnere å skrive lettlest kode. For å oppnå dette foreslår jeg å ta i bruk en standard kodestil. En standard kodestil refererer til forskrifter som krever at programmerere forlater sine individuelle stiler og følger en forhåndsbestemt standardstil. Selv om de fleste programmeringsspråk ikke har noen begrensninger på kodestil utover syntaks, kan standardisering av kodestil hjelpe kodeforståelsen og redusere lesbarhetsproblemer.
Selvfølgelig kan det finnes motargumenter mot forslaget om å etablere en standard kodestil. Fordi alle har sin foretrukne kodestil, kan en standardstil føles som en ubeleilig begrensning for noen programmerere. Å kode i henhold til en fast stil i stedet for din egen kan være vanskelig og kan øke arbeidstiden. Jeg har faktisk opplevd denne vanskeligheten selv. I juni i fjor, mens jeg jobbet som karakterassistent for den koreanske informatikk-OL, fikk jeg erfaring med å skrive kode for å gi et modellsvar til studentene. Jeg prøvde å matche stilen til fjorårets modellsvar for å gjøre det lettere for studentene å forstå, men å følge en ukjent stil betydde at en oppgave som skulle ha tatt en time, tok over to.
Selv om standard kodestiler kan redusere arbeidseffektiviteten som dette, tror jeg de har positive effekter på mange måter.
For det første er standard kodestiler effektive for langsiktig vedlikehold av programmer. Bedrifter oppgraderer kontinuerlig programmer etter utgivelse ved å fikse feil eller legge til funksjoner. Siden programmerere ofte endres i løpet av denne prosessen, er lesbar kode viktig for at nye programmerere enkelt skal kunne forstå eksisterende kode. Å ta i bruk en standard kodestil reduserer behovet for at individuelle programmerere skal fokusere individuelt på lesbarhet, og den definerte stilen gjør koden lettere å lese.
Faktisk krever noen selskaper at de har sin egen kodestil for å forbedre vedlikeholdseffektiviteten og at alle programmerere følger den. Under et besøk hos Google Korea for fem år siden understreket Google at alle programmerere må følge selskapets definerte kodestil. Omvendt nevnte en venn som jobbet i et spillselskap at de ikke har noen fast kodestil.
For det andre, i den nåværende trenden der åpen kildekode-prosjekter verdsettes høyt, vil en standard kodestil være til stor fordel for programmerere. Åpen kildekode er offentlig tilgjengelig, noe som gir ikke bare profesjonelle programmerere, men også ikke-eksperter enkel tilgang til den, slik at ulike brukere kan forbedre programfunksjonaliteten og fikse ulemper. På grunn av denne samarbeidsbaserte naturen til åpen kildekode, kan kode skrevet i forskjellige stiler blandes, noe som gjør den vanskelig å forstå. Jeg bruker ofte åpen kildekode relatert til datagrafikk, og jeg har personlig opplevd problemer med å lese kode på grunn av variasjonen i kodestiler. Å ha en standardisert kodestil kunne ha lindret denne ulempen.
For det tredje kan standardiserte kodestiler også forbedre effektiviteten i programmeringsundervisningen. Dette reduserer også byrden på lærere. Når jeg husker min erfaring som instruktør ved et programmeringsakademi, brukte jeg mye tid på å lese studentenes kode og rette opp problemer. Studentene hadde en tendens til å fokusere på å skrive «fungerende kode» snarere enn «lesbar kode». Uleselig kode gjorde det vanskelig å finne feil, noe som krevde betydelig tid, innsats og forårsaket betydelig stress. Hvis studentene hadde skrevet kode i henhold til en standard stil, ville disse vanskelighetene vært redusert. Institutt for informatikk ved Seoul National University tilbyr også flere kurs som inkluderer lesbarhetsvurderinger, som oppmuntrer studentene til å skrive kode med høy lesbarhet. Dermed er en standardisert kodestil til fordel for både lærere og studenter.
Fra studentens perspektiv kan standardiserte kodestiler redusere forvirring og øke motivasjonen. Programmeringsbøker og nettkurs bruker ofte inkonsistente stiler, og noen ganger lærer de til og med bort feil stiler. Som elev er det vanskelig å bedømme riktigheten av disse stilene, og det å bare følge dem kan føre til at man blir en programmerer som skriver uleselig kode. Å ha en standardstil ville forhindret dette problemet.
Selv om vi har diskutert de positive effektene en standardisert kodestil kan ha, må vi også vurdere muligheten for standardisering. På den annen side, på grunn av den matematiske modellen til programmeringsspråk, kan det være utfordrende for datamaskiner å behandle kodestil utover bare syntaks. Videre er det vanskeligheter med å konvertere all eksisterende kode skrevet i forskjellige stiler for å samsvare med en standard, og det finnes debatter om hvilken stil som bør tas i bruk som standard.
Det er vanskelig å finne en positiv løsning på disse gjennomførbarhetsproblemene, men etter hvert som forskningen skrider frem, øker mulighetene gradvis. For eksempel gjør Python en innsats for å regulere kodestil ved å legge til en syntaksbetingelse kalt innrykksregelen.
Oppsummert har standardisering av kodestiler betydelige positive effekter på vedlikehold, markedsføring av åpen kildekode og utdanning. Både informatikkstudenter og andre som er interessert i programmering må strebe etter å skrive kode som er lettlest. Selv om dette er vanskelig i dagens situasjon uten en standardisert kodestil, mener jeg at en standardisert kodestil er helt nødvendig av disse grunnene.

 

Om forfatteren

Forfatter

Jeg er en «kattedetektiv» og hjelper til med å gjenforene bortkomne katter med familiene deres.
Jeg lader opp med en kopp café latte, liker å gå turer og reise, og utvider tankene mine gjennom skriving. Ved å observere verden nøye og følge min intellektuelle nysgjerrighet som bloggskribent, håper jeg at ordene mine kan gi hjelp og trøst til andre.