Thursday, December 31, 2015
Saturday, December 26, 2015
Friday, December 11, 2015
Behavior is the most important thing about software
Behavior is the most important thing about software. It is what users depend on. Users like it when we add behavior (provided it is what they really wanted), but if we change or remove behavior they depend on (introduce bugs), they stop trusting us.
Legacy code is simply code without tests
Code without tests is bad code. It doesn’t matter how well written it is; it doesn’t mat- ter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don’t know if our code is getting better or worse.
The Legacy Code Dilemma
“When we change code, we should have tests in place. To put tests in place, we often have to change code.”
[Feathers 2005]
[Feathers 2005]
Reasons for the code base getting worse over time,
- More and more features. It leads to increased complexity.
- Shortcuts and hacks to support “We need this fancy search till August. Period!” features
- Developers rotation. New developers don’t know all the fundamental decisions and ideas behind the architecture. Knowledge gets lost with transition inevitably.
- Development team growth. More people - less communication. Less communication - bad decisions.
Tuesday, December 08, 2015
Friday, December 04, 2015
Subscribe to:
Posts (Atom)