How to find the right balance between "quick & dirty" and "nice & general" code?
- by Frank
This is not a direct programming question, but a little help from the programming community would be appreciated.
I am suffering from an overgeneralization disease. I can't stop spending valuable time with making my code most general and abstract. I could also call it the toolkit/library disease. I tend to turn every programming task into a general problem and try to "write a toolkit", that would work for many similar problems.
I know it's a good thing in general, if there is enough time, but sometimes I should be writing a quick prototype and just can't seem to write the quick and dirty code that just works for the special case. I often get excited about an idea that makes the code more general and user-configurable and understimate the time it takes to actually implement it that way.
Does anyone else have this experience? How can I force myself to find the right balance between "quick hack" and "nice solution"?