|
Monday,
September 10, 2001
|
|
Bits
& Bytes |
|
|
Software entropy:
The tendency for software, over time, to become difficult and costly to
maintain. A software system that undergoes continuous change, such as
having new functionality added to its original design, will eventually
become more complex and can become disorganized as it grows, losing its
original design structure. In theory, it may be better to redesign the
software in order to support the changes rather than building on the
existing program, but redesigning the software is more work because
redesigning the existing software will introduce new bugs and problems.
Refactoring:
Improving the design of existing software code. Refactoring doesn’t
change the observable behavior of the software; it improves its internal
structure. For example, if a programmer wants to add new functionality
to a program, he may decide to refactor the program first to simplify
the addition of new functionality in order to prevent software entropy.
|