?
A Rose by any other Name would End up as a cabbage
Sam Gardiner
I overheard SoME people deciding that they need more layers in their architecture. They were right, as it happens and going about it a little back-ward. They were attempting to create a framework, that would contain, the business logic. Rather than solving some specific problems they started with the idea which they want a framework that wraps the database U P and produces objects. And it should use object-relational mapping. and messages. and Web services. And it should do all sorts of cool stuff.
Unfortunately, since they didn ' t exactly know what cool stuff it would do, they didn ' t know-to-call it. So they held a little competition to suggest a name. And that's the point at which your must recognise that's a problem:if you don't know what a thing should be called Cannot know what's it is. If you don ' t know what it is, you cannot sit down and write the code.
In this particular case, a quick browse throughout the source control history revealed the depth of the problem. Of course, there were lots of empty interface "implementations"! And the really funny thing is a they had already changed the names three times with no actual code. When they started they called it clientapi-the "client" refers to the customers of the business, not client as in "client- Server "-and The final version was called Clientbusinessobjects. Great Name:vague, broad, and misleading.
?
?? Of course, in the end, a name is just a pointer. Once everyone involved knows that the name was just a name and not a design metaphor so you can all move on. However, if you can ' t agree on a name which is specific enough for your know when it's wrong, then you might has some D Ifficulty even getting started. Design is all on trying to fulfill intentions-e.g., fast, cheap, flexible-and names convey intentions.
If you can ' t name it, you can ' t write it. If you change the name of the three times, then you should stop until your know what is trying to build.
After a lifetime of playing with computers-starting with writing games in BASIC on the BBC computer and going on to such d Iverse elements as Pascal, Mathemat-ica, and using Labview to process hand-rolled databases made of raw text data files F ROM experiments held together with sticky Tape-sam Gardiner stumbled into professional software development. He has been working in the software industry for six years.
A Rose by any other Name would End up as a cabbage