Rewrite (programming): Difference between revisions

Content deleted Content added
Make the difference with Code refactoring more explicit
m
Line 7:
==Motivations==
A piece of software is typically rewritten when one or more of the following apply:
*its [[Orphaned work|source code is not available]] or is only available under an [[License compatibility|incompatible]] [[license]]
*its code cannot be adapted to a new target platform
*its existing code has become too difficult to handle and extend
Line 14:
*developers learn new techniques or wish to do a big feature overhaul which requires much change
*developers learn that new codes written may extend content options that can fix or overwrite previous problems
*the [[programming language]] of the source code has to be changed
 
==Risks==
Line 30:
* [[Development hell]]
* [[Porting]]
* [[Game engine recreation]]
 
Some projects mentioning major rewrites in their history:
Line 54 ⟶ 55:
 
==References==
{{reflist|30em}}
<references/>
 
==External links==
*[http://www.c2.com/cgi/wiki?RewriteCodeFromScratch RewriteCodeFromScratch at C2 Wiki]
*[http://www.joelonsoftware.com/articles/fog0000000069.html Things You Should Never Do, Part I] by [[Joel Spolsky]]
 
[[Category:Computer programming]]