Ohjelmoinnin popularisoinnin aikakausi: Onko helppolukuinen ja standardoitu koodaustyyli välttämätön?

Tässä blogikirjoituksessa tarkastellaan standardoidun koodaustyylin välttämättömyyttä, etuja ja haittoja luettavuuden ja yhteistyön tehokkuuden parantamiseksi aikakaudella, jolla ohjelmoinnista on tullut suosittua.

 

IT-teknologian viimeaikaisen kehityksen myötä kiinnostus IT-alaa kohtaan on kasvanut, mikä on johtanut ohjelmoinnin oppimisen halukkuuden kasvuun. Opiskelipa sitten yksin kirjojen kanssa tai osallistui muutaman kuukauden kursseille erikoistuneissa ohjelmointiakatemioissa, kuka tahansa voi nyt luoda omia ohjelmiaan, jopa ilman syvällistä asiantuntemusta. Tämä on ansiota erilaisten työkalujen kehityksestä, jotka parantavat ohjelmoinnin saavutettavuutta. Esimerkiksi Google tarjoaa ilmaiseksi Android SDK:n (Software Development Kit), joka mahdollistaa Android-käyttöjärjestelmässä toimivien ohjelmien kehittämisen. Nämä työkalut ovat käteviä ja auttavat myös niitä, joilla ei ole erityisosaamista, ohjelmoimaan helposti.
Se, että ohjelmoinnista on tullut kaikkien saatavilla, ei kuitenkaan ole täysin positiivista. Ohjelmoinnin yleistyminen on johtanut useisiin ongelmiin, erityisesti eri koodaustyyleillä kirjoitetun ohjelmakoodin lukemisen vaikeuteen. Koodaustyyli on analoginen kirjoitustyylin kanssa kirjoittamisen kontekstissa. Vaikka kirjoittaminen saattaa vaikuttaa ymmärrettävältä, kunhan kielioppi on oikein, kirjoittajat käyttävät tekstin tarkoitukseen sopivaa tyyliä helpottaakseen lukijoiden ymmärtämistä. Esimerkiksi aivan kuten essee vaatii ytimekästä ja selkeää tyyliä koristeellisten ilmaisujen sijaan, myös koodauksessa, vaikka ohjelma toimisi oikealla syntaksilla, sopivan koodaustyylin lisääminen johtaa luettavampaan koodiin. Toisaalta sopimaton koodaustyyli tekee koodista vaikeasti ymmärrettävän.
Ohjelmien kasvaessa niiden kehittäminen vaatii usein useiden ihmisten yhteistyötä. Siksi ohjelmoijien on otettava huomioon luettavuus varmistaakseen, että muut voivat helposti lukea ja ymmärtää heidän koodiaan. Ei-asiantuntijat, joilla on vähän ohjelmointikokemusta, kamppailevat kuitenkin helposti luettavan koodin kirjoittamisen kanssa. Tämä johtuu siitä, että lyhytaikaisen koulutuksen kautta ohjelmointia oppivat keskittyvät yksinomaan "jollain tavalla toimivien ohjelmien" luomiseen oppimatta kirjoittamaan "luettavaa koodia". Huonosti luettava koodi ei ainoastaan ​​estä yhteistyötä, vaan voi myös aiheuttaa ongelmia tulevien koodinmuokkausten aikana.
Tämän ongelman ratkaisemiseksi meidän on luotava tapa, jolla aloittelijat voivat kirjoittaa helposti luettavaa koodia. Tätä varten ehdotan standardoidun koodaustyylin käyttöönottoa. Standardoidulla koodaustyylillä tarkoitetaan määräyksiä, jotka edellyttävät ohjelmoijilta hylkäämistä omista tyyleistään ja ennalta määrätyn standardityylin noudattamista. Vaikka useimmat ohjelmointikielet eivät aseta koodaustyylille rajoituksia syntaksin lisäksi, koodaustyylin standardointi voi auttaa koodin ymmärtämisessä ja vähentää luettavuusongelmia.
Standardoidun koodaustyylin luomista vastaan ​​voidaan toki esittää vastaväitteitä. Koska jokaisella on oma mieltymyksensä koodaustyyliin, standardoitu tyyli saattaa tuntua joillekin ohjelmoijille hankalalta rajoitteelta. Kiinteän tyylin mukaan koodaaminen oman tyylin sijaan voi olla vaikeaa ja lisätä työaikaa. Olen itse kokenut tämän vaikeuden. Viime kesäkuussa, työskennellessäni arvosteluassistenttina Korean informaatioolympialaisissa, sain kokemusta koodin kirjoittamisesta mallivastaukseksi opiskelijoille. Yritin sovittaa tyylin viime vuoden mallivastausten tyyliin, jotta opiskelijoiden olisi helpompi ymmärtää, mutta vieraan tyylin noudattaminen tarkoitti, että tehtävä, jonka olisi pitänyt kestää tunnin, vei yli kaksi.
Vaikka tavalliset koodaustyylit voivat heikentää työtehokkuutta tällä tavalla, uskon, että niillä on monin tavoin myönteisiä vaikutuksia.
Ensinnäkin standardikoodaustyylit ovat tehokkaita ohjelmien pitkäaikaiseen ylläpitoon. Yritykset päivittävät ohjelmia jatkuvasti julkaisun jälkeen korjaamalla virheitä tai lisäämällä ominaisuuksia. Koska ohjelmoijat usein vaihtuvat tämän prosessin aikana, luettava koodi on välttämätöntä, jotta uudet ohjelmoijat ymmärtävät olemassa olevan koodin helposti. Standardoidun koodaustyylin omaksuminen vähentää yksittäisten ohjelmoijien tarvetta keskittyä henkilökohtaisesti luettavuuteen, ja määritelty tyyli tekee koodista helpommin luettavan.
Itse asiassa jotkut yritykset määräävät oman koodaustyylinsä parantaakseen ylläpidon tehokkuutta ja vaativat kaikkia ohjelmoijia noudattamaan sitä. Viisi vuotta sitten Google Koreassa vieraillessaan Google korosti, että kaikkien ohjelmoijien on noudatettava yrityksen määrittelemää koodaustyyliä. Toisaalta eräässä peliyrityksessä työskentelevä ystäväni mainitsi, ettei heillä ole valmiiksi määriteltyä koodaustyyliä.
Toiseksi, nykyisessä trendissä, jossa avoimen lähdekoodin projekteja arvostetaan suuresti, standardoitu koodaustyyli hyödyttäisi ohjelmoijia suuresti. Avoin lähdekoodi on julkisesti saatavilla, joten sitä voivat helposti käyttää paitsi ammattiohjelmoijat myös ei-asiantuntijat. Tämä antaa erilaisille käyttäjille mahdollisuuden parantaa ohjelman toiminnallisuutta ja korjata haittoja. Avoimen lähdekoodin yhteistyöhön perustuvan luonteen vuoksi eri tyyleillä kirjoitettu koodi voi sekoittua, mikä vaikeuttaa sen ymmärtämistä. Käytän usein tietokonegrafiikkaan liittyvää avoimen lähdekoodin koodia, ja olen henkilökohtaisesti kokenut vaikeuksia koodin lukemisessa erilaisten koodaustyylien vuoksi. Standardoitu koodaustyyli olisi voinut lievittää tätä haittaa.
Kolmanneksi, standardoidut koodaustyylit voivat myös parantaa ohjelmoinnin opetuksen tehokkuutta. Tämä myös vähentää kouluttajien kuormitusta. Muistellessani kokemuksiani ohjelmointiakatemian ohjaajana, käytin huomattavasti aikaa opiskelijoiden koodin lukemiseen ja ongelmien korjaamiseen. Opiskelijat keskittyivät usein "toimivan koodin" kirjoittamiseen "luettavan koodin" sijaan. Lukukelvoton koodi vaikeutti virheiden löytämistä, vaati huomattavasti aikaa ja vaivaa sekä aiheutti merkittävää stressiä. Jos opiskelijat olisivat kirjoittaneet koodia standardoitua tyyliä noudattaen, nämä vaikeudet olisivat vähentyneet. Soulin kansallisen yliopiston tietojenkäsittelytieteen laitos tarjoaa myös useita kursseja, joihin sisältyy luettavuusarviointeja, jotka kannustavat opiskelijoita kirjoittamaan erittäin luettavaa koodia. Näin ollen standardoitu koodaustyyli hyödyttää sekä kouluttajia että opiskelijoita.
Opiskelijan näkökulmasta standardoidut koodaustyylit voivat vähentää hämmennystä ja lisätä motivaatiota. Ohjelmointikirjat ja verkkokurssit käyttävät usein epäjohdonmukaisia ​​tyylejä ja joskus jopa opettavat vääriä tyylejä. Oppijoiden on vaikea arvioida näiden tyylien oikeellisuutta, ja pelkkä niiden noudattaminen voi johtaa siihen, että ohjelmoijasta tulee lukukelvotonta koodia. Standardoitu tyyli estäisi tämän ongelman.
Vaikka olemme keskustelleet standardoidun koodaustyylin mahdollisista myönteisistä vaikutuksista, meidän on otettava huomioon myös standardoinnin toteutettavuus. Toisaalta ohjelmointikielten matemaattisen mallin vuoksi tietokoneiden voi olla haastavaa käsitellä koodaustyyliä pelkän syntaksin lisäksi. Lisäksi kaiken olemassa olevan, eri tyyleillä kirjoitetun koodin muuntaminen standardin mukaiseksi on vaikeaa, ja siitä, mikä tyyli tulisi ottaa standardiksi, keskustellaan.
Näihin toteutettavuusongelmiin on vaikea löytää positiivista ratkaisua, mutta tutkimuksen edetessä mahdollisuudet vähitellen kasvavat. Esimerkiksi Python pyrkii sääntelemään koodaustyyliä lisäämällä syntaksiesityksen, jota kutsutaan sisennyssäännöksi.
Yhteenvetona voidaan todeta, että koodaustyylien standardoinnilla on merkittäviä myönteisiä vaikutuksia ylläpitoon, avoimen lähdekoodin mainostamiseen ja koulutukseen. Tietojenkäsittelytieteen pääaineopiskelijoiden, muiden opiskelijoiden ja kaikkien ohjelmoinnista kiinnostuneiden on pyrittävä kirjoittamaan helposti luettava koodi. Vaikka tämä on nykytilanteessa vaikeaa ilman standardoitua tyyliä, uskon, että standardoitu koodaustyyli on ehdottoman välttämätön näistä syistä.

 

Kirjailijasta

Kirjailija

Olen "kissaetsivä", joka auttaa kadonneita kissoja löytämään perheensä.
Lataan akkujani kupillisen café latten äärellä, nautin kävelystä ja matkustamisesta ja laajennan ajatuksiani kirjoittamisen kautta. Tarkkailemalla maailmaa tarkasti ja seuraamalla älyllistä uteliaisuuttani blogikirjoittajana toivon, että sanani voivat tarjota apua ja lohtua muille.