11.07.2015 Views

2014.1.futuro

2014.1.futuro

2014.1.futuro

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

KoodiIkuisuuskysymys: koodin muotoiluKun ohjelmoidaan vähänkin isommalla porukalla, ennen pitkää joku nostaa aina kissanpöydälle koodin muotoilusta.Teksti: Jari Komppa Kuva: Annika PiiroinenMonet koodin muotoiluun liittyvistäasioista ovat makuasioita,mutta pitkälti kyse on kuitenkinoptimoinnista. Ei siis koodin nopeuttamisestatai muusta tehostamisesta vaan ohjelmointiprosessinparantamisesta. Muotoiluaoptimoimalla voidaan saada aikaanparempaa ohjelmakoodia nopeammin.Tietokoneiden alkupäivistä lähtien onollut selvää, että suurin osa ohjelmoinnistaon bugien metsästystä eli koodinlukemista. Niinpä kannattaakin kirjoittaakoodia siten, että se on mahdollisimmanhelppolukuista. Kääntäjät kehittyvät jatkuvastija ovat pitkään olleet niin hyviä,että koodin kirjoittamisessa kannattaamieluummin ajatella koodin luettavuuttakuin kääntäjää.Käytössä on monenlaisia muotoilukäytäntöjäeli koodauskonventioita. Toisessaääripäässä ovat käytännöt, joissapyritään säästämään mahdollisimmanpaljon tilaa ja näppäinpainalluksia. Tällätavoin pieneenkin tietokoneen ruudullaolevaan ikkunaan mahtuu näkyviin paljonkoodia. Toisessa ääripäässä ovat käytännöt,jotka tuottavat ilmavaa, helppolukuistakoodia.se, joka näytti vaativan enemmän työtä.Muotoiluohjeet kannattaisi pitää parinkolmen sivun mittaisena, sillä muutenkasvaa riski, että niitä ei noudateta.Mainitun pelifirman ohje oli 22-sivuinen,mutta silti sitä seurattiin lähes pilkulleen.Lopputuloksena oli helposti ymmärrettäväälähdekoodia, ja työntekijät alkoivatkäyttää samaa muotoilua myös joissakinharrastusprojekteissaan.Tämä artikkeli ei käy koko muotoilukäytäntöäläpi mutta antaa esimerkkejätärkeimmistä asioista. Mikäli tätä lukiessasitunnet yhtäkkiä raivon nousevan, älähuoli, sillä nyt puhutaan asioista, joistajoka tapauksessa kiistellään maailmantappiin asti.Kielenä tässä on C tai C++, mutta samatasiat koskevat kaikkia C:n sukuisiakieliä.SisennyksetSisennykset ovat jostain syystä hyvinkiistelty seikka. Yleisimmin sisennyksissäkäytetään kahta tai neljää välilyöntiä,joskin kahdeksaakin näkee välillä. Neljänvälilyönnin puolesta puhuu lähinnäse, että se on Visual Studion oletusarvo.Eräässä virallisessa dokumentissa päädyttiinkolmen välilyönnin kompromissiin.Käytännössä sisennyksen suuruudellaei ole väliä niin kauan, kun siinäollaan johdonmukaisia.Sarkaimet toimivat eri tavoin eriteksti editoreilla, joten sisennykset ja tasauksetkannattaa tallentaa tiedostoihinaina välilyönneillä. Listauksessa 1 onesimerkki, kuinka muotoilu voi räjähtääsarkainasetusten muuttuessa.Ongelmat voi välttää käyttämällä sarkainmerkkejäpelkästään sisennykseen.Käytännössä tämäkin johtaa helpostisiihen, että osa koodista seuraa oikeaamuotoilua ja osa ei. Helpoiten sotkustapääsee määräyksellä, että kaikkialla käytetäänvälilyöntejä.Aaltosulkeiden paikkaAaltosulkeilla määritellään koodilohko, jasiksi niiden kannattaa olla samalla tasollasisennyksen kanssa. Aaltosulkeita kannattaakäyttää luettavuuden lisäämiseksimyös siellä, missä niiden käyttö on vapaaehtoista.Listauksessa 2 on esimerkkihuonosta ja hyvästä käytännöstä.Neuvottelun tulosErään pelifirman alkuvaiheissa ohjelmoijaporukkaistui neuvottelutilassa muutamanpäivän riitelemässä kasaan muotoiluohjeen.Usein ihan pikkuseikoissakinpiti valita useamman vaihtoehdon välillä,ja äänestykset voitti jokaisessa kohdassakompleksi(parametri1, parametri2, parametri3,parametri4, parametri5, parametri6,parametri7, parametri8, parametri9);kompleksi(parametri1, parametri2, parametri3,parametri4, parametri5, parametri6,parametri7, parametri8, parametri9);Listaus 1. Sarkainasetusten muuttaminen muuttaa koodin muotoilua.12 2014.1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!