Joustavat sisennykset selkeyttävät koodin lukemista

Ohjelmoijat ovat usein erittäin pikkutarkkoja siitä, miten he kirjoittamansa koodin jäsentelevät: käytetäänkö sisennyksessä tabulaattoria vai välilyöntejä, miten asiat rivitetään, tuleeko sulkeiden jälkeen väli vai ei ja niin edelleen. Teoreettisesti koodi on samaa, jäsenteli sen miten halusi, mutta käytännössä koodin lukeminen on huomattavasti helpompaa, jos se on rakenteeltaan selkeää ja yhdenmukaista.

Koodin jäsentelyyn liittyvien sisennysten toimintaan on Nick Gravgaardin ideoinut niin sanotun joustavan sisennyksen eli “elastic tabstops” -ominaisuuden, jossa rivit sisentyvät selkeiksi ryhmiksi. Ominaisuudessa tabulaattorin pituus voi vaihdella eri riveillä ja teksti on jaoteltu tavallaan kuin taulukon soluihin ja sarakkeisiin.

Esimerkiksi ryhmän rivit sisennetään automaattisesti samalle tasolle.

Tab Stops

ja rivin muuttuessa ryhmän rivien sisennystä muutetaan automaattisesti uuteen pituuteen.

Tab Stops

Ideasta saa paremman käsityksen, kun vilkaisee enemmän esimerkkejä miten Code Browser -ohjelma asian toteuttaa tai testata ominaisuutta käytännössä. Sisennyksen automaattinen muuttaminen tekstin muuttuessa tuo selkeyttä koodin lukemiseen muun muassa switch-case -rakenteissa, muuttujaryhmissä ja kommenteissa.

Ominaisuus näyttää kätevältä, mutta harmillisesti se ei ole vielä yleistynyt. Toivoa kuitenkin herättää, että ominaisuudesta on tehty kehitysehdoitus Eclipseen ja ominaisuus löytyy kuulemma Swingistä, GTK:sta ja tulevasta Visual Studiosta. Gedit-editoriin tämä mullistava uudistus on saatavissa Nick Gravgaardin tekemän lisäosan avulla.

Aiheeseen liittyvät kirjoitukset

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

2 vastausta artikkeliin ”Joustavat sisennykset selkeyttävät koodin lukemista

  1. Editorin pitää tukea tuota ominaisuutta, jossa tabulaattori määritellään tulkittavaksi kenttäerottimena, muuten tiedosto näkyy kuin sisennyksissä olisi käytetty vain yhtä tabulaattoria.

    Jos nyt oikein tulkitsin tuota selitystä, miksei asiaa voi ratkaista vain lisäämällä tabulaattorien määrää, niin kyseessä on tavallaan periaatekysymys. Nyt sekä välilyöntejä että tabulaattoreita käytetään esteettisessä mielessä, kun niitä pitäisi käyttää semanttisesti: tabulaattoria sisennyksiin ja välilyöntiä avainsanojen erotteluun. Asia on selitetty Gravgaardin sivulla hieman kattavammin.

    Eli nyt asiat tehdään “väärin” ja joustavilla sisennyksillä asiat tehtäisiin oikein :)

    2
  2. Niin onko se sitten niin, että editorin pitää tukea tuota systeemiä, jotta se osaa edes näyttää tiedoston oikein? Mikä on syynä siihen, ettei tätä ryhmittelyä ole voitu tehdä vain tabulaattoreita lisäämällä? Voi olla, että tyhjää tilaa tulee enemmän, mutta ainakin muutkin ohjelmat sitten näyttäisivät sen samalla tavalla.

    Tuli vain mieleen, kun tätä nykyä itse teen käsin tabia hakkaamalla juurikin noin nuo ryhmittelyt.

    1