Kulcsszavak

Hazai konferenciák

Nincs megjeleníthető elem

Külföldi konferenciák

Nincs megjeleníthető elem

Milyen a jó program?

2010.10.20. 09:04 biomedeng

Programot írni (némi utánolvasással) mindenki tud. Jó programot írni viszont csak kevesen. Miért is "jó" egy jó program?

Itt a teljesség igénye nélkül összegyűjtöttem pár szempontot, ami segítséget nyújthat azoknak, akik még nem jártasak eléggé a programozásban, de talán a "vén rókák" is találnak még új információt.

 

1. Helyes működés

Itt leszögezném, hogy "rossz" program, mint olyan nem létezik, csak olyan, ami nem pont azt, vagy nem pont úgy végzi el, mint ami elvárható lenne. Régi igazság, hogy a számítógép csak annyira okos, amennyire a programozó okossá teszi. Legyen szó bármilyen programozási nyelvről, a feladatot formálisan specifikálni kell. Ez a feladat bonyolultságától függően történhet fejben vagy írásos formában, szövegesen vagy vizuálisan. Ha a feladatot sikeresen specifikáltuk, akkor láthatunk hozzá a feladat "megoldásához" a számítógép nyelvén. Nagyon fontos, hogy a program helyes működését teszteljük. Megfelel -e a specifikációnak pontossági, stabilitási, egyéb szempontokból. Egyáltalán lefut -e minden lehetséges bemenetre. Nagyobb hangvételű projekteknél bevett szokás még a kód elkészítése előtt teszteseteket definiálni, és a programo akkor működik megfelelően, ha a tesztesetekre az elvárt kimenetet kapjuk. A jó kód azt csinálja, ami a specifikációban van, se többet, se kevesebbet.

2. Érthetőség / Olvashatóság

Nagyon fontos hogy a kód jól olvasható és könnyen értelmezhető legyen legyen. Miért is? Gondoljunk csak bele, ha több emberrel dolgozunk együtt, mindenkinek a fejében ugyanannak a gondolatnak kell társulnia minden sorhoz. Ez a szempont akkor is fontos, ha egymagunk dolgozunk, mert hónapokkal, vagy évekkel később is szükség lehet egy most megírt kódra, és ha jól olvasható és könnyen megérthető a kód, nem kell később azzal tölteni az időt, hogy újra megértsük, mit is akartunk csinálni annó.

Hogyan tehető a kód jól olvashatóvá illetve érthetővé?

2/a. Tagolás

A program nem regény, tehát illik az összetartozó részeket egybe, a kevésbé összetartozókat külön "csoportosítani". Az indentálás módszere (sorok vízszintes tagolása) tökéletesen alkalmas például arra, hogy megmutassa, hol kezdődik és hol végződik egy logikai blokk, ciklus, stb.

2/b. Logikus és érthető elnevezések

Nagyon jó a változókat és függvényeket az aktuális szerelmünkről elnevezni, de évek múltán lehet hogy már nem is emlékszünk rá, ki volt Krisztike, Csabi... Egy másik tipikus kezdő szokás betűneveket, számokat megadni névként, mint az "Xa", "Xb2", "fuggveny1". Ha olyasvalki olvassa ezt, aki nem tudja, hogy mi a pontos jelentése ezeknek a betűknek, igencsak elkeveredhet benne. Ezért érdemes mindent a lehető legjellemzőbben elnevezni: A változókat arról, hogy mit tárolnak, a függvényeket pedig arról, hogy mit csinálnak. Ha így teszünk, akkor egy-egy sorra rápillantva rögtön nyilvánvaló lesz, hogy mit csinál.

2/c. Kommentek

A kommentek olyan feljegyzések, melyeket a program "margójára" írhatunk, hogy később eszünkbe jusson róla, hogy miért is csináltuk épp így, vagy hogy kifejtsük a függvények és változók jelentését. Érdemes minden fügvényről és magáról a főprogramról is leírni, hogy mit is akartunk ott pontosan csinálni. Ha a változók és függvények elnevezése nem egyértelmű, itt is illik legalább pár szót írni róluk. Amennyiben a program működése pontos képletben definiálható, vagy valami referencia cikk, szabvány, stb alapján dolgoztunk, jól jöhet ha ezeket pontosan feltűntetjük.

3. Ne tornázz fölöslegesen

A jó programozó lusta, nem fut fölösleges köröket amíg nem muszáj. Ezt nem azért csinálja, mert nem szeret dolgozni. Sokkal inkább azért mert nem szeret fölslegesen dolgozni. Tehát nem kezd bele egy nagyon bonyolult algoritmus implementálásába amíg nem látja, hogy arra valóban szükség van, és nem talál megfelelően használható meglévő implementációt.

A bejegyzés trackback címe:

https://tudomanysarok.blog.hu/api/trackback/id/tr142385356

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása