Don't re-invent the wheel!
First off, I hate metaphors, so for clarity's sake I'll say "Don't rewrite existing code that has been thoroughly tested." Now, perhaps it's a bit more clear that the justification for rewriting such code compeletely depends on the situation you're in.
Some points to consider:
- Is the code for production use? Will it be placed online? Reliability and security are key for these. So best to use extensively tested existing code if it's available.
- What will you learn from writing the code? This is the best argument for re-writing code.
- Licensing issues - maybe an existing piece of code uses that evil artistic license and you want to rewrite the code, improve it (may or may not happen), and release it under the GPL ;-).
- Time, Time, Time - Re-writing code takes it. So if you're on a tight schedule, or merely wish to minimize time spent on a given project, you have yet another reason to use existing resources.
So my general rule is when solid code already exists, use that for production use and only rewrite code as an educational venture.
Update: Forgot to mention the whole wasted developer time issue and how much of the open source community is greatly opposed to it, for some good, and some not so good, reasons. Consider it mentioned and see The Cathedral and the Bazaar for more details :).
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.