Centralizing functionality
As
projects evolve, developers begin to loose track of the codebase.
This is exacerbated by multiple developers working asynchronously
on different software components. As time goes by, duplicate
functionality will begin creeping into the codebase. When
maintenance time rolls around, problems will start to emerge.
Take the scenario
a GUI application with two user input fields. This input is
filtered, and special characters are removed. A bug has popped
up in user input A, and needs a fix. The developer assigned
fixes A, and assumes the applications filtering is now behaving
as desired. A few days later, another bug pops up, the same
bug but in user input B. How did this happen? This was supposedly
to be fixed!
This scenario shows
the danger of redundant code, and lack of proper centralization.
Imagine your applications shutdown code resided in the method
onShutdown(). The close box, the quit menu option, and any
special escape sequences all should call this method. Redefinition
will lead to maintenance hell.
|