|Think about Loose Coupling|
Re: Necessity is the mother of inventionby Anonymous Monk
|on Mar 09, 2005 at 21:36 UTC||Need Help??|
Too many people try to do this at work. :-(
At work, please don't solve a solved problem in a new way; and if you do, **please** don't do it in production code unless you've got a very, very good reason.
I have to deal with this sort of thing all the time: people deciding to do "clever" things with Perl, then forgetting why they did them, or making things overcomplicated just to "try out" features that aren't needed. Code like that is hard to maintain! :-(
Don't artificially complicate an old solution, unless there are clear benefits to trying a new approach. Even then, refactor first, re-write later.
Even when dabbling on your own time, why not try to solve a new problem, instead? There are lots of projects that need doing: try doing something that hasn't been done, or adding a little feature to something that already exists.
There are certainly learning benefits to doing something that has been done before (for example, you can look to other implementations as a reference for what you should/should not have done, and compare results). However, there's also a certain joy that comes from doing something productive that other people can use and appreciate. I prefer the latter, if and when I can manage it.