Issue No.05 - September/October (2007 vol.24)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2007.143
The term "heat death" comes from the second law of thermodynamics: entropy within a closed system increases over time without bound until the system collapses. In software, the entropy we experience most is in the design, and project heat death occurs when the design rots to the point where starting over is cheaper than continuing. If we focus on learning how to improve the design and combine this attitude with simple design heuristics, common sense, and experience, we can make our overly constrained designs more flexible. We call this refactoring—improving the design of existing code so we can stave off heat death, perhaps indefinitely.
design, cost of change, maintenance, rescuing code, trade-off, entropy, heat death, refactoring, improving design, improvement
J.B. Rainsberger, "Rescuing Code", IEEE Software, vol.24, no. 5, pp. 26-27, September/October 2007, doi:10.1109/MS.2007.143