[elektro] C naming convention
potyo
potyo.ada at gmail.com
Wed Feb 9 21:31:16 CET 2011
2011/2/9 Moczik Gabor <pm_levlista at progzmaster.hu>:
> Hali!
>
> Közvéleménykutatás. :-)
>
> Ki milyen névkonvenciókat használ C-ben?
>
> define/struct/enum/változó elnevezések, kisbetű/nagybetű, prefix/suffix,
> rövid vagy hosszú nevek, stb...
Ha nem objektumokról van szó, akkor alapvetően kisbetűvel kezdődik
minden változó és függvénynév. Ettől csak akkor térek el, ha az illető
név valami miatt másképp jobban magyarázza sajátmagát. Ha több szóból
tevődik össze, akkor vagy aláhúzásjel közéjük és végig kisbetűs, vagy
pedig a második, harmadik, stb. szó kezdőbetűje nagy - ebben mondjuk
jó lenne valami rendszert bevezetni. Sokszor egymás kódjába írkálunk,
így néha így, néha úgy illeszkedik a környezetbe, de azt sikerült
elérni, hogy egymás kódját megértjük szinte első ránézésre. Ha valami
modulban van, akkor az interfész függvények elé odakerül a modulra
utaló prefix, tehát pl. lcd_init(), i2c_start(), stb.
Ha objektum-orientált a helyzet, akkor az objektum neve és metódusai
nagy kezdőbetűvel, és ha összetett szó, akkor minden további szó
kezdőbetűje is nagy. Tulajdonságai viszont kis kezdőbetűvel, de ha
összetett szó, akkor a második, harmadik szó kezdőbetűje szintén nagy.
Objektum orientáltan a cégben igazából csak én programozok, így ezen a
téren teljes az egyetértés :-))
Makró az egy érdekes dolog, az nálam illeszkedni szokott ahhoz, amit
csinál. Ha függvényként van használva a kódban, akkor ugyanúgy van a
neve, mintha függvény lenne. Ha csak valami konstans, akkor végig
nagybetű. Ami const-al van létrehozva, azt egyszerű változóként
használom, mert ugyan nem illik, de futásidőben változtatható :-))
Változónév hossza az olyan, hogy minél rövidebb, viszont érthető
legyen. Néhány betűért nem rövidítek, pl. ha valami_count, akkor abból
nem lesz valami_cnt.
Változó tipusokat én szeretem az eredeti nevükön használni. Tehát
inkább írok unsigned char-t, mint pl. uchar vagy u8-at. Viszont itt
használom a lehetséges rövidítéseket, unsigned int helyett egyszerűen
unsinged-et írok vagy long int helyett long-ot. Mondjuk ez utóbbi
lehet, hogy rossz szokás, mert sokáig úgy tudtam, hogy az int az
mindig 16 bit, de rá kellett jönnöm, hogy ez nem így van, és PC-n
inkább 32 bit, de lehet akár 64 bit is (ennek most néztem utána, hogy
általában az adott architektúra "természetes" típusa az int). De mivel
a kódhordozásban annyira nem hiszek, ezért ezt nem értem annyira nagy
problémának. Ha meg mégis helyzet van, akkor nem nagy dolog egy
szkriptet összedobni, ami lecseréli az összes forrásfájlban a
változótípusokat a megfelelőre.
More information about the Elektro
mailing list