It is a terrible idea to teach yourself how to use some unfamiliar feature of C++ by designing a library that heavily uses this feature.
I
cannot think of an easily explained example, because libraries that
come into existence in this way are very rarely easily explained. Even
experienced C++ folks look at the thing and say, "Huh...WHAT?! Can you
DO THAT?" Readers with more than a couple years of development
experience are grimacing right now, because chances are good that the
code they are paid to work in every day relies on a library that some genius thought would be cooler if it all used some tricks they'd been reading about.
It
may be cool to the original author, but to anyone who hasn't read the
same blogs as the author, it's just mysterious. Especially mysterious
when the author has trouble doing what they originally imagined was possible, and
ends up covering this lack of experience with a hack, that then lingers
long after the author stops working on the library.
Writing
libraries is a great time to slow down; to be conservative; to solicit
the widest possible review; to ask your peers, "Is this good style?"
No comments:
Post a Comment