31.3.2023

Code conventions – Kohti laadukkaampaa ohjelmakoodia

Mikä ihmeen code conventions, en ole Ikinä kuullutkaan?

Kirjoittaja: Kari Kangasluoma / teknisen tuotannon asiantuntija

Code conventions viittaa yhteisesti sovittuihin käytäntöihin, sekä sääntöihin ohjelmakoodia kirjoittaessa. Käytännössä tämä tarkoittaa sitä, miten koodi kirjoitetaan, muotoillaan tai dokumentoidaan.

Ai miksi muka?

Yhteisesti sovitut kirjoitussäännöt auttavat ohjelmistosuunnittelijoita kirjoittamaan hyvin dokumentoitua sekä nimenomaan helppolukuista ohjelmakoodia, jota on huomattavasti helpompi tulkita jos / kun sitä joudutaan korjaamaan tai muuttamaan jälkeenpäin. Lisäksi helppoluinen ja hyvin dokumentoitu ohjelmakoodi antaa ammattitasoisen kuvan yrityksen kirjoittamasta ohjelmakoodista.

Onko pakko jos ei halua?

Ei tietenkään – on yllättävän yleistä, ettei koodia kirjoiteta näiden sääntöjen mukaan, koska se vie jonkin verran enemmän aikaa ja näin ollen tulee kalliimmaksi tuottaa, mutta kokonaisuudessaan mielestäni sääntöjä kannattaa noudattaa – ainakin jollain asteella.

Kannattaa myös huomioida, että näiden kirjoitussääntöjen mukaan ohjelmointi on paljon muutakin kuin pelkkiä muotoiluseikkoja. Code convention kertoo mm. ohjelmakoodin loogisesta rakenteesta. Ylläpidettävyyden ja jatkokehityksen kannalta ottaen ohjelmakoodia ei kannattaisi pistää yhteen, tuhansia rivejä sisältävään tiedostoon, vaan ”palastella” sopiviin osasiin (moduuleihin), joita on helpompi jatkossa muokata. Yleisesti ottaen ohjelmakoodia kirjoitettaessa kannattaa huomioida ainakin seuraavat perusasiat:

  1. Vältä pitkiä kokonaisuuksia ohjelmakoodissa, jaa ne mieluummin eri luokkiin.
  2. Yhteen funktioon ei kannata kirjoittaa satoja rivejä ohjelmakoodia, pidä funktiot lyhyinä.
  3. Kirjoita toiminnallisuudet geneerisesti jos mahdollista. Näin samaa toiminnallisuutta voi hyödyntää jossain toisessa asiassa.
  4. Vältä ”syviä” if – else -rakenteita, maksimissaan kaksi tai kolme lohkoa sisäkkäin. Tällaiset lohkorakenteet vaativat monesti paljon pähkäilyä, jotta niistä ei tulisi vaikealukuisia, mutta vakuutan, että kannattaa käyttää aikaa niiden suunnitteluun.
  5. Pidä ohjelmakoodin rivit lyhyinä. Älä kirjoita yli 120 (jossain tapauksissa 80 merkkiä) merkkiä sisältäviä koodinpätkiä. Jos tämä ei ole mahdollista, jaa koodi useammalle riville.
  6. Palauta funktiosta selkeästi yksi tai kaksi paluuarvoa. Sellainen funktio joka palauttaa useita eri arvoja, on tavattoman hankala käsitellä ”kutsujan” päässä.
  7. Kirjoita funktio tekemään vain yksi asia kerrallaan. Jos paluuarvoa pitää säätää – tee se toisessa funktiossa.
  8. Nimeä muuttujat ymmärrettävästi. On paljon helpompi ymmärtää ja seurata muuttujaa: ”html_input_fields” kuin ”hinpf” tai ”hif”. Kannattaa käyttää tässäkin englannin kieltä, vaikka suomikin on ihan jees.
  9. Älä toista itseäsi vaan uudelleen käytä tekemiäsi asioita. Jos tulevaisuudessa jokin muuttuu, voi olla iso työ muuttaa juttuja ympäri järjestelmää.
  10. Kirjoita kommentit ja kuvaukset englanniksi jos mahdollista. Toki suomen kieli on ihan ”jees”. Kommentoi paljon, koska mieluummin liikaa kuin liian vähän kommentteja.
  11. Vertaile aina samantyyppisiä muuttujien arvoja. Numero 1 ei ole sama kuin merkkijono ”1”. Nämä saattavat saada aikaan joskus jännyyksiä ohjelmakoodissa. Tosin kehittyneet ohjelmointityökalut ilmoittavat jos vertailu ei ole ”strict-tyyppinen”.
  12. Älä keksi pyörää uudelleen. Jos jokin valmiiksi tehty juttu löytyy Internetissä, käytä sitä. Tällaisia voisivat olla vaikkapa erilaiset ”frameworkit”, luokkakirjastot jne. (Huomioi lisenssiasiat käyttäessäsi valmiita kirjastoja).

Mitäs tästä nyt sitten hyödytään?

Muutamia hyötyjä mielestäni ovat ainakin:

  • Ohjelmakoodi on laadukkaampaa
  • helppolukuisempaa
  • ymmärrettävämpää
  • dokumentointi helpottuu
  • helpompi ylläpitää.

Näiden hyötyjen lisäksi useat ohjelmointityökalut (IDE) osaavat hyväksikäyttää koodin kommentteja. Työkalut osaavat esimerkiksi näyttää funktioiden parametrit sekä paluuarvot, jotta niitä ei tarvitse etsiä erikseen tiedostoista. Itse olen käyttänyt jo vuosia JetBrainsin phpStormia, joka on maksullinen työkalu ja varsin mainio PHP-koodin sekä Javascriptin kirjoittamiseen. Todennäköisesti myös suosiossa oleva VS Code tukee tuota samaa ominaisuutta.

Tilaa blogit

MENEVÄTKÖ KOODIT SOLMUUN?

Meiltä saat ammattitaitoisen tekkitiimin käyttöösi.  Varaa Jyrkin kalenterista aika jos haluat jutella ohjelmistopalveluistamme lisää.

Varaa aika kalenteriin!

Jyrki Sundström
Analytiikka asiakaskokemus b2b b2b-myynti b2b markkinointi CRM digitaalinen markkinointi digitalisaatio DO2018 hakukonemainonta hakukoneoptimointi henkilöstö henksublogi ihandiginä integraatio Intranet Intrexx kaupallinen ehdotus Laskeutumissivu marketing it markkinoinnin automaatio markkinointi markkinointistrategia markkinointiteknologia myynti northern glow Ohjelmistot palvelut rekrymarkkinointi salesvation sisällöntuotanto sisältömarkkinointi somestrategia Sosiaalinen media Sähköinen liiketoiminta Testaus Tietoturva tulevaisuus uutiskirje verkkokauppa verkkosivut videotuotanto WooCommerce Wordpress Yrittäjyys