Dette blogindlæg undersøger nødvendigheden af samt fordele og ulemper ved en standard kodningsstil for at forbedre læsbarheden og samarbejdseffektiviteten i en tid, hvor programmering er blevet populært.
Med den seneste udvikling inden for IT-teknologi er interessen for IT-området vokset, hvilket har ført til en stigning i antallet af mennesker, der ønsker at lære programmering. Uanset om man studerer alene med bøger eller tager kurser på specialiserede programmeringsakademier i et par måneder, er det nu muligt for alle at oprette deres egne programmer, selv uden dyb ekspertise. Dette skyldes udviklingen af forskellige værktøjer, der forbedrer tilgængeligheden af programmering. For eksempel tilbyder Google Android SDK (Software Development Kit) gratis, hvilket muliggør udvikling af programmer, der kører på Android-operativsystemet. Disse værktøjer er bekvemme og hjælper selv dem, der mangler specialiseret viden, med at programmere nemt.
Det er dog ikke udelukkende positivt, at programmering er blevet tilgængelig for alle. Populariseringen af programmering har ført til adskillige problemer, især vanskeligheden ved at læse programkode skrevet i forskellige kodningsstile. Kodningsstil er analog med skrivestil i skrivekontekst. Selvom skrivning kan virke forståelig, så længe grammatikken er korrekt, bruger forfattere en stil, der er passende til tekstens formål, for at gøre den lettere for læserne at forstå. For eksempel, ligesom et essay kræver en præcis og klar stil snarere end blomstrende udtryk, resulterer tilføjelse af en passende kodningsstil også i mere læsbar kode i kodning, selvom et program fungerer med korrekt syntaks. Omvendt gør en upassende kodningsstil koden vanskelig at forstå.
Efterhånden som programmer vokser sig større, involverer udvikling ofte samarbejde mellem flere personer. Derfor skal programmører overveje læsbarhed for at sikre, at andre nemt kan læse og forstå deres kode. Ikke-eksperter med begrænset programmeringserfaring har dog svært ved at skrive meget læsbar kode. Dette skyldes, at dem, der lærer programmering gennem kortvarig træning, udelukkende fokuserer på at skabe 'programmer, der på en eller anden måde fungerer', uden at lære at skrive 'læsbar kode'. Kode med dårlig læsbarhed hindrer ikke kun samarbejde, men kan også forårsage problemer under fremtidige kodeændringer.
For at løse dette problem er vi nødt til at finde en måde, hvorpå begyndere kan skrive letlæselig kode. Med dette for øje foreslår jeg at anvende en standardkodningsstil. En standardkodningsstil refererer til regler, der kræver, at programmører opgiver deres individuelle stilarter og overholder en forudbestemt standardstil. Mens de fleste programmeringssprog ikke pålægger nogen begrænsninger på kodningsstil ud over syntaks, kan standardisering af kodningsstil hjælpe kodeforståelsen og reducere læsbarhedsproblemer.
Der kan selvfølgelig være modargumenter mod forslaget om at etablere en standard kodningsstil. Fordi alle har deres foretrukne kodningsstil, kan en standardstil føles som en ubelejlig begrænsning for nogle programmører. Det kan være vanskeligt at kode efter en fast stil i stedet for sin egen og kan øge arbejdstiden. Jeg har faktisk selv oplevet denne vanskelighed. I juni sidste år, mens jeg arbejdede som karakterassistent for den koreanske informatik-olympiade, havde jeg erfaring med at skrive kode, der skulle give eleverne et modelsvar. Jeg forsøgte at matche stilen fra sidste års modelsvar for at gøre det lettere for eleverne at forstå, men at følge en ukendt stil betød, at en opgave, der burde have taget en time, tog over to.
Selvom standardkodningsstile kan reducere arbejdseffektiviteten på denne måde, mener jeg, at de har positive effekter på mange måder.
For det første er standardkodningsstile effektive til langsigtet vedligeholdelse af programmer. Virksomheder opgraderer løbende programmer efter udgivelsen ved at rette fejl eller tilføje funktioner. Da programmører ofte ændrer sig under denne proces, er læsbar kode afgørende for, at nye programmører nemt kan forstå eksisterende kode. Ved at anvende en standardkodningsstil reduceres behovet for, at individuelle programmører individuelt fokuserer på læsbarhed, og den definerede stil gør koden lettere at læse.
Faktisk kræver nogle virksomheder, at de selv har en kodestil for at forbedre vedligeholdelseseffektiviteten, og at alle programmører overholder den. Under et besøg hos Google Korea for fem år siden understregede Google, at alle programmører skal følge virksomhedens definerede kodestil. Omvendt nævnte en ven, der arbejder hos et spilfirma, at de ikke har nogen fast kodestil.
For det andet, i den nuværende tendens, hvor open source-projekter værdsættes højt, ville en standardiseret kodningsstil være en stor fordel for programmører. Open source-kode er offentligt tilgængelig, hvilket giver ikke kun professionelle programmører, men også ikke-eksperter nem adgang til den, hvilket gør det muligt for forskellige brugere at forbedre programfunktionaliteten og afhjælpe ulemper. På grund af denne samarbejdsorienterede karakter af open source kan kode skrevet i forskellige stilarter blive blandet, hvilket gør den vanskelig at forstå. Jeg bruger ofte open source-kode relateret til computergrafik, og jeg har personligt oplevet problemer med at læse kode på grund af de mange forskellige kodningsstile. At have en standardiseret kodningsstil kunne have afhjælpet denne ulempe.
For det tredje kan standardiserede kodningsstile også forbedre effektiviteten i programmeringsundervisningen. Dette reducerer også byrden for underviserne. Når jeg husker min erfaring som instruktør på et programmeringsakademi, brugte jeg betydelig tid på at læse elevernes kode og rette problemer. Eleverne havde en tendens til at fokusere på at skrive 'fungerende kode' snarere end 'læsbar kode'. Ulæselig kode gjorde det vanskeligt at finde fejl, hvilket krævede betydelig tid, kræfter og forårsagede betydelig stress. Hvis eleverne havde skrevet kode i overensstemmelse med en standardstil, ville disse vanskeligheder have været reduceret. Institut for Datalogi ved Seoul National University tilbyder også flere kurser, der inkluderer læsbarhedsvurderinger, der opfordrer eleverne til at skrive letlæselig kode. Således gavner en standardiseret kodningsstil både undervisere og elever.
Fra den studerendes perspektiv kan standardiserede kodningsstile reducere forvirring og øge motivationen. Programmeringsbøger og onlinekurser bruger ofte inkonsistente stile og underviser nogle gange endda i forkerte. Som studerende er det svært at bedømme korrektheden af disse stile, og blot at følge dem kan føre til, at man bliver en programmør, der skriver ulæselig kode. At have en standardstil ville forhindre dette problem.
Selvom vi har diskuteret de positive effekter, som en standardiseret kodningsstil kunne medføre, skal vi også overveje muligheden for standardisering. På den anden side kan det på grund af den matematiske model for programmeringssprog være udfordrende for computere at behandle kodningsstil ud over blot syntaks. Derudover er der vanskeligheder med at konvertere al eksisterende kode skrevet i forskellige stilarter for at overholde en standard, og der er debatter om, hvilken stil der skal anvendes som standard.
Det er vanskeligt at finde en positiv løsning på disse gennemførlighedsproblemer, men efterhånden som forskningen skrider frem, øges mulighederne gradvist. For eksempel gør Python en indsats for at regulere kodningsstil ved at tilføje en syntaksbetingelse kaldet indrykningsreglen.
Kort sagt har standardisering af kodningsstile betydelige positive effekter på vedligeholdelse, promovering af open source og uddannelse. Datalogistuderende, andre studerende og alle, der er interesserede i programmering, skal stræbe efter at skrive letlæselig kode. Selvom dette er vanskeligt i den nuværende situation uden en standardiseret stil, mener jeg, at en standardiseret kodningsstil er absolut nødvendig af disse grunde.