Michael Feathers considers legacy code to be any code without tests. [1] I tend to agree - only I think even code with tests can be candidates for the "legacy" moniker.
Bottom line is: you may do a rewrite, but that codebase may be considered to be a hairball by the next guy.
Bottom line is: you may do a rewrite, but that codebase may be considered to be a hairball by the next guy.
1. http://www.netobjectives.com/system/files/WorkingEffectively...