Cute Programming is when you use a creative technique out of the ordinary to accomplish a task. These techniques often work well on a team of one programmer, but not in collaborative team projects.
A programmer decided unilaterally to prefix his class names with C<Component>_. For example, CNetwork_Socket.
This forced the IDE to group his classes by component so that all his CNetwork_* classes appeared together, which he liked.
However, it confused his co-workers because nobody else used this convention; everyone else would have used the name Socket.
The result was that when you went looking for Socket, you needed to look for Socket and again for C*_Socket.
might also be called FalseElegance?
. This is code that is highly artful at the expense of being difficult to understand. It overemphasizes elegance and conciseness, using techniques or concepts that are unjustifiably novel, obscure, or complex compared to the task at hand. The archetypical form of CuteProgramming
, although it can be done in any language. CuteProgramming
can be difficult to refactor, because the author inevitably will huff that the problem isn't in his code, it's that the rest of the team is too incompetent. Thus, VigorousAndForcefulGroupIntervention?
is the only way to correct this problem.
" seems to be a cute name for any non-standard programming practice that the author disapproves of.
There was a time when Struts would've been considered CuteProgramming
, or perhaps I confuse it with overkill.
I like the idea of a CuteProgrammingIntervention?
. I am seeing an increase in CuteProgramming
within .NET, where new c# features makes it really easy to become cute. Code using LINQ is where I am currently seeing it the most. - JonathanCrossland
I worked with a Unix Developer who always wanted to code his shell scripts on a single line using pipes to concatenate everything together. Absolutely horrible to try to debug and I often ended up re-writing the script on to different lines and adding in comments to make it readable.
And they probably ran slower after you got through. Efficient shell programming consists of vector operations.
[Such as? Do you mean bash's arrays?]
See also ThreeStarProgrammer