Content deleted Content added
Changed "Famous examples" heading to "Notable examples" |
|||
Line 15:
The incremental rewrite is an alternative approach, in which developers gradually replace the existing code with calls into a new implementation, expanding that implementation until it fully replaces the old one. This approach avoids a broad loss of functionality during the rewrite. [[Cleanroom software engineering]] is another approach, which requires the team to work from an exhaustive written specification of the software's functionality, without access to its code.<ref>{{cite web | url=http://www.perlmonks.org/?node_id=115511 | title=Rewriting, from scratch, a huge code base | first=Ben | last=Tilly | date=September 29, 2001 | accessdate=2008-09-11}}</ref><ref name="vorlath">{{cite web | url=http://my.opera.com/Vorlath/blog/2007/09/25/code-rewrite-yes | title=Code Rewrite - Yes | author=Vorlath | date=25 September 2007 | accessdate=2008-09-11}}</ref>
==
[[Netscape]]'s project to improve HTML layout in [[Netscape Navigator|Navigator]] 4 has been cited as an example of a failed rewrite. The new layout engine ([[Gecko (layout engine)|Gecko]]) had developed independently from Navigator and did not integrate readily with Navigator's code; hence Navigator itself was rewritten around the new engine, breaking many existing features and delaying release by several months. Meanwhile [[Microsoft]] focused on incremental improvements to [[Internet Explorer]] and did not face the same obstacles.<ref name="spolsky"/><ref>{{cite web | url=http://www.jwz.org/gruntle/nomo.html | title=resignation and postmortem | first=Jamie | last=Zawinski | authorlink=Jamie Zawinski | date=March 31, 1999 | accessdate=2008-09-11}}</ref> Ironically, Navigator itself was a successful cleanroom rewrite of [[NCSA Mosaic]] overseen by that program's developers. See [[Browser wars]].
|