Kommentit

Miksi kommentoidaan?

"Etsi painike. Jos painikkeita on kaksi, valitse niistä itsellesi sopivampi ja paina. Jos olet onnekas, ei sinun tarvitse etsiä painikkeita lainkaan, muuten sinun on myös odotettava. Pian sinun on taas etsittävä painike. Niitä voi olla useampia, jolloin voit valita taas itsellesi sopivimman. Paina sitä. Jos olet tehnyt oikeita valintoja, huomaat pian olevasi ihan muualla."

Selvästi edellisessä katkelmassa annettiin ohje johonkin arkielämän toimenpiteeseen. Sen voisi muotoilla myös ohjelmaksi, kuten ensimmäisillä tunneilla olet oppinut. Arvaatko, mistä tuossa katkelmassa on kyse? Onko tuo katkelma mielestäsi helposti ymmärrettävissä?

Jos katkelmalle olisi annettu jokin hyvä otsikko, olisi varmasti helpompi ymmärtää, mistä katkelma kertoo. Jos katkelman kirjoittaja olisi vielä lisännyt eri kohtiin pieniä itse kiinnittyviä muistilappuja, esim. siitä, mitä nuo painikkeet ovat, olisi katkelma jo varsin helppo ymmärtää.

Ohjelmointikielissä onkin mahdollista lisätä pieniä muistilappuja koodin sekaan. Ne on tarkoitettu vain itselle ja muille ohjelmoijille selventämään ohjelman kohtia, jotka muuten saattaisivat olla vaikeita ymmärtää. Nuo muistilaput, eli kommentit, eivät vaikuta millään tavoin itse ohjelman toimintaan ja käännetyistä tiedostoista (esim. Javassa class-tiedostot) ne jäävät pois.


Miten tehdään Javassa?

Javassa on eri tapoja lisätä kommentti. Jos haluat lisätä hyvin pienen kommentin, joka mahtuu yhdelle riville rivin koodin jälkeen, lisää kommenttisi eteen kaksi kenoviivaa //. Esim.

      double keskiarvo;

      keskiarvo = 8.5;  // Matin keskiarvo
    

Jos haluat lisätä useamman rivin kommentteja, aloita kommenttisi merkinnällä /* ja päätä se merkintään */, siis esim. näin:

      /* 
        Tämä ohjelma tulostaa ruudulle "morjes kaverit!"
        Kirjoittaja: Ahti Syreeni
      */
      public class Morjes {
        public static void main(String args[]) {
          System.out.println("morjes kaverit!");
        }
      }
    

Joskus näet myös kommentteja jotka on aloitettu merkinnällä /** .Nämä vastaavat edellä esitettyä monen rivin kommenttia, mutta eräs ohjelma (javadoc) osaa poimia kommentit eri luokista ja muodostaa näistä tiedoista www- sivuston.


Mitä kommentoidaan?

Kommentoi ohjelmassasi sellaisia vaiheita, jotka saattavat muille olla hankalia hahmottaa (olisi hyvä jos tällaisia ei olisi). älä kuitenkaan koskaan selitä ohjelmasi koodia kirjoittamalla sitä uudestaan, esim. "sijoitetaan 8.5 muuttujaan keskiarvo". Sehän on selvää koodia katsomalla. Kommenttisi pitäisi siis kertoa mitä aijot tehdä ja erityisesti miksi, ei miten sen teet. Vältä turhaa kommentointia: jos olet valinnut todella hyvät ja kuvaavat muuttujien sekä vakioiden nimet ja ohjelmoit selkeästi, ei kommentointi välttämättä ole edes tarpeen.

Ohjelman alkuun ennen luokan alkua on kuitenkin hyvä merkitä kommenttina ainakin se, mitä ohjelma tekee, miksi ohjelma on kirjoitettu ja kuka sen on kirjoittanut.