There was a thread[1] about this the other day! People have different goals, motivations, and reasons for developing. I guess I just like sorting colored blocks. I'll agonize over the code... I really will go back to a class I wrote months ago and ask "Do I really need this member variable?" and "Does this really need to go on the heap or can it live on the stack and be automatically cleaned up?" "Can I use a pImpl C++ pattern here and reduce the number of headers that this header file includes?"