Ik merk steeds vaker dat het soms erg lastig is om goede namen te vinden voor de symbolen in je programma, d.w.z. voor je classes, methods en members, en database-tabellen en -velden. Ik vind dat duidelijke namen de leesbaarheid van je code enorm verbeteren en dat het echt heel belangrijk is om goede namen te kiezen, maar dat het nog niet zo makkelijk is als dat het op het eerste gezicht lijkt...
Voorbeeld: ik zat laatst te bedenken dat het misschien wel handig is om een cd-databaseje aan te leggen met daarin al mijn muziek-, software-, backup- en film-cds en dvds. En als echte tweakert download je natuurlijk niet 1 van de 10.000 bestaande programma's, nee, die wil je dan zelf bouwen
Zo bedacht ik me bijv:
- dat elke cd of dvd iig een eigen code met volgnummer moest hebben, bijv. MUZ012 of GAM005.
- dat de informatiedrager (cd, cdrw, dvd, ...) los gezien moet worden van hetgeen wat erop staat (een applicatie, spel, muzieknummer), met name omdat een applicatie uit meerdere cd's kan bestaan, en een cd meerdere dingen kan bevatten.
Maar hoe verzin je nu goede benamingen voor de db-tabellen / velden waarin deze informatie opgeslagen moet worden? Ik neem aan dat het gros van de mensen voor Engelse benamingen kiest, dus ik kwam op de volgende benamingen:
- De informatiedrager: Media (tabel)
- Type informatiedrager: Type (veld)
- Volgnummer, code: IndexCode (veld)
- Volgnummer, nummer: IndexNr (veld)
- De inhoud van de cd: Item (tabel, evt. met subclasses: ApplicationItem, MusicItem, etc)
Ik ben niet onverdeeld gelukkig met deze namen. Aan de ene kant zijn ze kort en bondig, maar aan de andere kant is het probleem dat veel van de termen te generiek zijn. Type, Index en Item zijn allemaal namen die je in principe overal voor kunt gebruiken. Maar ik kom ook niet op een betere naamgeving, die kort en bondig is, maar de lading beter dekt...
Hoe gaan jullie om met descriptive naming, hoe zouden jullie het in mijn voorbeeldgeval doen, en hebben jullie misschien nog tips?
--edit--
N.B.: het gaat me hier niet om naming issues zoals prefixes en Hungarian notation (d.w.z: moet het m_iRefCounter, _refCounter of reference_counter worden?), maar meer of je het woord 'ref. counter' moet gebruiken of iets anders).
Voorbeeld: ik zat laatst te bedenken dat het misschien wel handig is om een cd-databaseje aan te leggen met daarin al mijn muziek-, software-, backup- en film-cds en dvds. En als echte tweakert download je natuurlijk niet 1 van de 10.000 bestaande programma's, nee, die wil je dan zelf bouwen

Zo bedacht ik me bijv:
- dat elke cd of dvd iig een eigen code met volgnummer moest hebben, bijv. MUZ012 of GAM005.
- dat de informatiedrager (cd, cdrw, dvd, ...) los gezien moet worden van hetgeen wat erop staat (een applicatie, spel, muzieknummer), met name omdat een applicatie uit meerdere cd's kan bestaan, en een cd meerdere dingen kan bevatten.
Maar hoe verzin je nu goede benamingen voor de db-tabellen / velden waarin deze informatie opgeslagen moet worden? Ik neem aan dat het gros van de mensen voor Engelse benamingen kiest, dus ik kwam op de volgende benamingen:
- De informatiedrager: Media (tabel)
- Type informatiedrager: Type (veld)
- Volgnummer, code: IndexCode (veld)
- Volgnummer, nummer: IndexNr (veld)
- De inhoud van de cd: Item (tabel, evt. met subclasses: ApplicationItem, MusicItem, etc)
Ik ben niet onverdeeld gelukkig met deze namen. Aan de ene kant zijn ze kort en bondig, maar aan de andere kant is het probleem dat veel van de termen te generiek zijn. Type, Index en Item zijn allemaal namen die je in principe overal voor kunt gebruiken. Maar ik kom ook niet op een betere naamgeving, die kort en bondig is, maar de lading beter dekt...
Hoe gaan jullie om met descriptive naming, hoe zouden jullie het in mijn voorbeeldgeval doen, en hebben jullie misschien nog tips?
--edit--
N.B.: het gaat me hier niet om naming issues zoals prefixes en Hungarian notation (d.w.z: moet het m_iRefCounter, _refCounter of reference_counter worden?), maar meer of je het woord 'ref. counter' moet gebruiken of iets anders).
[ Voor 7% gewijzigd door MrBucket op 18-08-2005 23:47 ]