tagged by: clean code Often designs techniques are used to make
a system more flexible, but end up being harder to work with.
One of the reasons is that explicitness is a property that often
gets forgotten in design. Guidelines on when to make a new user
defined type (or class) for values. The term 'command query
separation' was coined by Bertrand Meyer in his book "Object
Oriented Software Construction" - a book that is one of the most
influential OO books during the early days of OO. (The first
edition is the one that had the influence, the second edition is
good but you'll need several months in a gym before you can lift
it.) 5 December 2005 Whenever two or three values are gathered
together - turn them into a $%#$%^ object. -- Me (it was funnier
with the voices) This is one of my favorite CodeSmells from the
refactoring book. You spot it when you constantly see the same
few data items passed around together. start and end are a good
example of a data clump wanting to be a range. Often data clumps
are prim