Informatika gyűjtemény

Egy szinttel feljebb Tabulálás

2004050607080910

NézetNyomtat

Tabulálás

Behúzás mérete

A legtöbb programozási nyelvben nem szükséges bekezdésekben írni a kódot; az egész programot akár egy sorba is írhatjuk, bár teljesen felesleges. Igyekezzünk minden egyes utasítást külön sorba írni. Ezen kívül szükség van még arra is, hogy az összetartozó kódrészleteket (pl. ciklusok) könnyen felismerhessük. Erre szolgálnak a behúzások.
A behúzások mérete 2 karaktertől 8-ig terjedhetnek (általában 4 az ideális). Ennél kisebb vagy nagyobb nemigen ajánlott. A behúzáshoz használjuk mindig a tabulátor billentyűt. Az egyes fejlesztői környezetek át tudják alakítani a tabulátorokat szóközökké. Ízlés dolga ennek használata.

Hosszú sorok törése

Egy forráskódban a sorok hosszának elviekben nincsen maximális értéke. Turbo Pascalban egy sorba 1023 karakter fér ki. Mégis, a legtöbb esetben 200 karakter bőven elegendő erre a célra. Azonban a legtöbb programozó egyetért abban, hogy a 80 karakternél hosszabb sorokat szét kell választani több részre.
A sorok szétválasztásának szabálya a következő:
Vesszők, illetve műveleti jelek után új sort kezdünk, majd a további részt a hozzá tartozó kifejezéssel azonos szinten beljebb kezdjük:
HosszuFuggvenyHivas(param1, param2,
                    param3, param4);

//JÓ:
szam1 := a * b / (+ d + e) +
         f * g;

//ROSSZ:
szam2 := a * b / (+ d +
         e) + f * g;
FIGYELEM! A levágott utasításrészeket itt szóközökkel és nem tabulátorral kell beljebb húzni, mivel a tabulátor nem fix hosszúságú.

Az utasítás zárójelek helyzete

Az utasítás zárójelek egy adott blokkot zárnak közre, amelyben több utasítás található. Ennek a Pascal nyelvben a Begin-End páros, a C típusú nyelvekben pedig a kapcsos zárójelek felelnek meg:
//C-ben
if (feltetel)
{
    utasitas1;
    utasitas2;
    ...
}
{Pascalban}
If feltetel Then
Begin
    utasitas1;
    utasitas2;
    ...
End;
Megj.: Általában egysoros utasítás esetén nem érdemes őket kitenni.
A továbbiakban megnézzük a zárójelpárok helyzetének C nyelvben kialakított főbb stílusait. (Pascalban is megengedettek hasonló megvalósítások.)

BSD/Allman stílus

Az első zárójel az utasítást követő sorban, a második pedig a blokkot követő sorban helyezkedik el, az utasítással megegyező behúzással:
if (kifejezes)
{
    utasitasok;
    ...
}
Előnye, hogy a belső utasítások teljesen elkülönülnek a többi résztől. Hátránya, hogy több helyet foglal el.

K&R stílus

Kernighan és Ritchie "A C programozási nyelv" című könyvében szerepel ez a stílus. Nagyon hasonló az előzőhöz azzal a különbséggel, hogy olyan utasítások után, mint az if, for, while, stb. a nyitó zárójel az őt megelőző utasítással egy sorban helyezkedik el:
void Eljaras(void)
{
    if (kifejezes2) {
        utasitasok;
        ...
    } else {
        utasitasok;
        ...
    }
}
Kevésbé általános stílus, annak ellére, hogy a Unix illetve Linux kernelt is ebben a formában írták.

GNU stílus

A GNU stílus nagyon hasonlít a BSD-hez, viszont itt az utasítás zárójelek egy fél behúzásnyival beljebb helyezkednek el:
while (feltetel)
  {
    utasitasok;
    ...
  }

Ezen kívül természetesen számtalan stílus létezik még. Mindenki válassza ki a saját ízlésének megfelelőt. A legfontosabb, hogy lehetőleg egy programon belül mindvégig ugyanazt a stílust használjuk.