Really, that's it -- one nice simple sentence, with huge ramifications.
Ha. That was strongly in mind just last night, while signing 120+ pages of paperwork for a refinance. (*There's* something that desperately needs refactoring.)
While it is technically possible to carry it too far, it's really pretty difficult to do so -- the exceptions are at least a bit unusual.
"Too far" may be rare, but "badly" is also a pitfall of the overzealous. A perhaps-canonical example: the method which does one of seventeen different things depending on which flags get passed in, those things being related only by the fact that pieces of their internal logic overlap. All done in the name of avoiding duplication, much like the Inquisition was done in the name of promoting faith and virtue.
...and it is very focused on fixing existing code.
I'd call that a point in its favor - maintaining and modifying an existing codebase is far more prevalent in industry than in your average comp sci degree program; formally passed-down knowledge on this skill is a good thing to have around.
(no subject)
Date: 2011-11-04 09:16 pm (UTC)Duplication Is Evil
Really, that's it -- one nice simple sentence, with huge ramifications.
Ha. That was strongly in mind just last night, while signing 120+ pages of paperwork for a refinance. (*There's* something that desperately needs refactoring.)
While it is technically possible to carry it too far, it's really pretty difficult to do so -- the exceptions are at least a bit unusual.
"Too far" may be rare, but "badly" is also a pitfall of the overzealous. A perhaps-canonical example: the method which does one of seventeen different things depending on which flags get passed in, those things being related only by the fact that pieces of their internal logic overlap. All done in the name of avoiding duplication, much like the Inquisition was done in the name of promoting faith and virtue.
...and it is very focused on fixing existing code.
I'd call that a point in its favor - maintaining and modifying an existing codebase is far more prevalent in industry than in your average comp sci degree program; formally passed-down knowledge on this skill is a good thing to have around.