A forráskódról általában
- A forráskódnak jó felépítésűnek kell lennie. Ne legyenek túl hosszú függvények, forrásfájlok.
- A programozás nyelve alapvetően angol.
- A következetesség nagyon fontos.
- A forráskód dokumentáltsága is lényeges. A kódból látszani kell, hogy az mit csinál, a nem kézenfekvő eseteket viszont fel kell tüntetni kommentben.
C programozás
- A logikailag összetartozó adatokat struktúrákba kell szervezni.
- A kódban az ismétlődő részeket kerülni kell, amit lehet újrafelhasználható függvényekkel célszerű megoldani.
- Több elterjedt kódolási konvenció van. Ezekre vonatkozóan nincs megkötés, viszont a választott konvenciókat következetesen be kell tartani.
- A konstans értékeket nevesíteni kell.
- A globális változók számát minimalizálni kell.
C++ programozás
- C++ fordítóval lehet fordítani C kódot is, de ez nem azt jelenti, hogy egy C program az már C++ program. Lényeges eltérések vannak a két nyelv megoldásai között.
- A hagyományos OOP elveket be kell tartani (amennyire lehet persze).
- Mivel az OpenGL alapvetően C-s API-t használ, ezért az emiatt szükséges C-s megoldásokat el kell retjetni az osztályok megjelenítésért felelős részébe.
- Az explicit hibajelzés helyett kivételobjektumokat kell használni.
- A sztringek és fájlok kezeléséhez az STL a preferált.
- Az osztálydefiníciók minden esetben tartoznia kell egy header és egy cpp fájlnak.
- A típusokat olyan szigorúan kell megadni, amennyire csak lehet. (pl.: const correctness)
- A javasolt C++ szabvány a 11-es.
Kódolási konvenciók
Fordítás és linkelés C/C++ esetén
- A futtatható állomány előállítása alapvetően a Fordítás → Linkelés fázisokból áll. (A fordítást megelőzi egy előfordítási fázis is, de az a fordítás részének tekinthető.)
- Bizonyos fordítók, vagy azok paraméterezése ezeket a fázisokat egyben oldja meg, de attól még a fordító és a linker nem ugyan az.
- Több forrásállomány esetén azokat külön-külön le kell fordítani, majd linkelni. Ennek az automatizálását egy build eszköz (pl.: GNU Make) segítheti. Ez gyakran az IDE-be be is van építve.
- Egy hibáról meg kell tudni állapítani, hogy az fordítási, linkelési vagy futás idejű hiba-e.
- Általában szokott lenni debug és release fordítási mód.