A kódolási konvenciók a hatékony szoftverfejlesztés sarokkövei. Egységes stílus nélkül a munkánk nagy része keresgéléssel telik.
A következő három program. Első pillantásra talán más, más programnak tűnik. A három program egy és ugyanaz:
class Haromszog { public static double terulet(double alap, double magassag) { return alap * magassag / 2; } public static void main(String[] args) { System.out.println(terulet(30, 35)); } }
class Haromszog { public static double terulet(double alap, double magassag) { return alap * magassag / 2; } public static void main(String[] args) { System.out.println(terulet(30, 35)); } }
class Haromszog { public static double terulet(double alap, double magassag) {return alap * magassag / 2;} public static void main(String[] args) {System.out.println(terulet(30, 35));} }
Az olvashatóságot ronthatják az elnevezési szokások is. vajon mit csinál a következő program?:
class H { public static double t(double a,double b) { return a*b/2; } public static void main(String[] args) { System.out.println(t(30,35)); } }
Ilyen kis programoknál természetesen nincs nagy gond. Nagyobb programok esetén fáradtságos munkába kerülhet a visszakövetés.
Mit szokás meghatározni a kódolási konvenciókban? Fájlok formázása behúzásokkal, a programozás azonosítóinak elnevezései.
A következő listában a gyakran használt meghatározásokat látjuk:
Több szóból álló azonosítók írása.
Vannak leírások, ahol a camelCase nagybetűvel kezdik: CamelCase és ennek megfelelően nagy kezdőbetűt jelöl az elején, vagyis CamelCase == PascalCase.
Ilyenkor ajánlott megkülönböztetni az első karakter kis vagy nagy kezdőbetűs írását:
A magyar stílust Charles Simonyi után nevezik magyar stílusnak, származása alapján. Apja Simonyi Károly, fizikus, tudós, tanár és mérnök.
Angolul Hungarian notation, németül ungarische Notation.
A használata a C nyelvhez kötődik, mivel ott használták elsőként.
C és C++ nyelvekben szokás.
Ne legyenek felesleges megjegyzések. A jól megírt kód elég beszédes. Minden állomány elején legyen egy állományleíró rész.
Az utasítások után tehetünk egy soros megjegyzéseket.
/* * Lépésszámláló program * Verzió: 0.1 * 2014-10-21 * Copyright (c) Nagy József, 2014 * Licenc: GNU/GPL * /
A hosszú sorokat tördeljük. Mi számít hosszú sornak? A 80 karakternél hosszabb sorok túl hosszúnak számítanak. Néhány fejlesztői környezet mutatja ennek határát.
System.out.printf( "A haromszog terulete: %.2f\n", (haromszogAlap * haromszogMagassag)/2 );
if ( bekertSzin == "piros" || bekertSzin == "zöld" || bekertSzin == "kék" || bekertSzin == "fehér"){ //... }
A C alapú nyelvekben a blokk nyitó és záró szimbólumok a kapcsos zárójelek. Van néhány stílus, amelynek már neve is van.
K&R stílus
if(feltétel) { //utasítás }
GNU stílus:
if(feltétel) { //utasítás }
BSD stílus:
if(feltétel) { //utasítás }
if (feltétel) { } else { }
if (feltétel) { } else { }
if (feltétel) { } else { }
if (feltétel) { } else { }
A pascal nyelvben is ezek a megoldások variálhatók:
if feltétel then begin utasítások; end;
if feltétel then begin utasítások; end;
if feltétel then begin utasítások; end;
while feltétel do utasítások; end;
A blokkokhoz tartozó utasításokat behúzással beljebb írjuk a jobb átláthatóság érdekében:
main() { utasítás1; utasítás2; utasítás3; utasítás4; if(feltétel) { utasítás5; utasítás6; utasítás7; utasítás8; utasítás9; } utasítás10; utasítás11; utasítás12; }
Grafikus felületek esetén érdemes végiggondolni, hogyan nevezzük el nyomógombjainkat, és más komponenseinket.
Variációk kilépésgombra:
Beviteli mezők: