Op maandag 25 maart 2002 22:32 schreef Sneechy het volgende:
Bedoel je hier weer alleen de naamgeving mee, of zijn er in jouw mening ook echt allerlei ontwerpfouten gemaakt waar je je erg aan stoort ? (Vooral dat vind ik interessant.)
Ikzelf heb het nooit intensief genoeg gebruikt om ontwerpfouten te kunnen ontdekken. Ik walg daarentegen van dingen als deze quote uit std::string:
code:
1
2
3
4
5
6
7
8
| size_type find_first_of(const basic_string& right,
size_type off = 0) const;
size_type find_first_of(const value_type *ptr,
size_type off, size_type count) const;
size_type find_first_of(const value_type *ptr,
size_type off = 0) const;
size_type find_first_of(value_type ch,
size_type off = 0) const; |
• Underscores in functienamen zuigen en verwarren in mijn naming conventions enorm met variabelenamen (zie mijn voorbeeld stuk hierboven)
•
ptr,
ch en
right zijn echt parameternamen die behulpzaam zijn bij development (NOT).
• Ik heb echt geen idee wat de
off parameter daar doet. Ik gok op
offset maar die 3 karakters gaan je leven toch niet redden?
Sowieso, als je dan al 20 overloads per functie levert, maak dan ook een extra stapel overloads voor die offset-functies, scheelt een stuk optimalisatie dat de compiler heel hoogstwaarschijnlijk niet voor mekaar krijgt...
Verder op Orphix:
Toch zijn ze wel consequent, dus na wat gewennen valt er perfect mee te werken.
De voorbeelden die jij gaf zijn natuurlijk een beetje dubieus, aangezien deze functies protected zijn. Ze zijn dus niet de bedoeling om direct aangesproken te worden door de client programmeur.
BULLSHIT. Die functies zijn
protected zodat ze aangesproken kunnen worden door de inheritende programmeur, en dan zijn onduidelijke namen als dat ONVERGEEFLIJK. Wat een moeite was het geweest om daar duidelijke functie- en parameternamen te gebruiken?!?
Ik vind persoonlijk dat zelfs je private functies 100% begrijpbaar moeten zijn, omdat zelfs dat voor de afleider behulpzaam is bij het begrijpen van de originele implementatie.