[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