2. Globalcode – Open4education
REFACTORING LEGACY CODE
@mmalx
http://br.linkedin.com/in/mmirandaalex
http://alexmiranda.net
http://github.com/alexmiranda
FINDING THE BALANCE BETWEEN QUALITY AND RISK
3. Globalcode – Open4education
Thanks to
Sandro Mancuso
Software Craftsman
co-founder of the London
Software Craftsmanship
Community (LSCC)
Working Effectively with
Legacy Code
Michael Feathers
Refactoring: Improving the
Design of Existing Code
Martin Fowler
4. Globalcode – Open4education
Legacy Code: What is it?
Code not covered by tests
Code smells
Bad Design
Hard maintenance
Illegible code
High learning curve
Methods of changing code
Change and pray
Cover and refactor
6. Globalcode – Open4education
When refactoring working code
http://thecodinglove.com/post/51736558987/when-refactoring-working-code
7. Globalcode – Open4education
When refactoring a 5-year old project
http://thecodinglove.com/post/53182348711/when-refactoring-a-5-year-old-project
8. Globalcode – Open4education
Unit Tests and TDD + Refactoring
Improve code quality
Improve maintainability
Improve code readability
You’re not being agile, if you’re not considering this
Side-effects of bad tests
9. Globalcode – Open4education
Design Stamina Hypothesis
Is it worth the effort to design software well?
“We really need to move fast to make our target
next year so we are reducing <some design
activity>”
http://martinfowler.com/bliki/DesignStaminaHypothesis.html