[elektro] Megin cééé (de lassan a magas)
Kovács József
kj at faldeko.hu
Sat Mar 23 11:47:08 CET 2013
> Fontos tudni, hogy attól hogy az a változó alap esetben nem látszik,
> attól még globálisan létezik, tehát ha egy másik fájlban egy ugyanolyan
> nevűt szeretnél deklarálni, akkor "multiply defined symbol" hibát fogsz
> kapni.
>
> Ebbe véletlenül is bele lehet szaladni, pl. ha nem ismered a másik
> egységet, és nincs sehol dokumentálva, hogy ott van egy ilyen változó.
>
> Ezért célszerű az alábbiakat követni:
>
> - az összes nyilvános elérésre szánt globális változót a H fájlban
> tüntesd fel, és lehetőleg valami logikus nevet adj neki.
>
> - az összes kizérólag unit-on belüli privát felhasználásra szánt
> globális változót deklaráld a C fájlban static-ként. Ekkor nem érhető el
> a fájlon kívül máshonnan, egy másik fájlban deklarálhatsz ugyanilyen
> nevű változót (static-ként), a kettő egymástól független lesz.
Én kedvelem a névtér használatát....
Azaz előnevet kap az általam definiált
minden változó a modul neve alapjan.
Így a scope keveredés esélytelen.
pl.
klet_cinkar klet_raktar
szla_cinkar szla_raktar
Sőt az is látszik, hogy honnan lett behúzva, ha újrahasznosítok valamit.
A valóban globalis változók pedig mind egy helyen vannak
a golbaldef-ben
Ezek így néznek ki: glob_valarf glob_valnem
Egy átgondolt és zsigeri használatúvá vált nevezéktan
rengeteg hibakeresési és kódolási melót spórol meg
Az ára a hosszabb változónév...
De, ez egy kéz alá dolgozó IDE/EDITOR esetén nem gond.
KJ
More information about the Elektro
mailing list