B
bartek
Hi,
Please forgive me this rather non-technical, but somewhat related topic.
I just have to share a particular frustration...
Naming conventions, and their destructive power in the world of generic
programming.
Say, there is a project which started w/o significant use of the standard
library, or generic programming techniques. It had followed a naming
convention where most of names were LikeThis (classes, member/free
functions), LikeThisType (typedefs, template type args) and local
variable names like_this.
Everything looks pretty well while there is rather low interdependency
with std lib. However, the higher it is, the more names become confusing
and the naming convention simply starts breaking apart.
E.g. a container class should define an 'interator' instead an
'IteratorType'. Taking it further, it should define 'begin()' and 'end
()' methods instead of 'Begin()' and 'End()', etc. ("is this our class or
std? ").
Perhaps I'm a little bit exaggerating but ... consider an application
written using application framework X, using libraries Y and Z, where
each of them provides some reusable constructs, and each follows a
different naming convention.
Theoretically, it's possible to wrap things up in a kind of "cosmetic"
adaptors... but isn't it simply programmer's-time-being-wasted?
*sigh*
<conscience>
Now, stop whining! Back to work! NOW!
</conscience>
Please forgive me this rather non-technical, but somewhat related topic.
I just have to share a particular frustration...
Naming conventions, and their destructive power in the world of generic
programming.
Say, there is a project which started w/o significant use of the standard
library, or generic programming techniques. It had followed a naming
convention where most of names were LikeThis (classes, member/free
functions), LikeThisType (typedefs, template type args) and local
variable names like_this.
Everything looks pretty well while there is rather low interdependency
with std lib. However, the higher it is, the more names become confusing
and the naming convention simply starts breaking apart.
E.g. a container class should define an 'interator' instead an
'IteratorType'. Taking it further, it should define 'begin()' and 'end
()' methods instead of 'Begin()' and 'End()', etc. ("is this our class or
std? ").
Perhaps I'm a little bit exaggerating but ... consider an application
written using application framework X, using libraries Y and Z, where
each of them provides some reusable constructs, and each follows a
different naming convention.
Theoretically, it's possible to wrap things up in a kind of "cosmetic"
adaptors... but isn't it simply programmer's-time-being-wasted?
*sigh*
<conscience>
Now, stop whining! Back to work! NOW!
</conscience>