Module 9: Legacy Code and Refactoring
Module 9 Overview Video Reading: Textbook Chapter 9All of the material in this module corresponds to Chapter 9 of the ESaaS textbook — the free PDF is linked on the Resources page. Watch each section’s video, read the matching section of the textbook, then complete the self-check on Gradescope.
Module 9 Self-Check
After finishing the videos and readings, complete the Module 9 Self-Check on Gradescope. Self-checks are short, count toward your grade, and allow unlimited attempts — you need to get every question right, so keep trying until you do.
Sections
| Section | Watch | Read |
|---|---|---|
| 9.1 What Makes Code “Legacy” and How Can Agile Help? | Video | §9.1 |
| 9.2 Exploring a Legacy Codebase | Video | §9.2 |
| 9.3 Establishing Ground Truth with Characterization Tests | Video | §9.3 |
| 9.4 Comments and Commits: Documenting Code | Video | §9.4 |
| 9.5 Metrics, Code Smells, and SOFA | Video | §9.5 |
| 9.6 Method-Level Refactoring: Replacing Dependencies with Seams | Video | §9.6 |
| 9.7 The Plan-And-Document Perspective on Working with Legacy Code | Video | §9.7 |
Additional textbook readings
These sections have no videos, but are part of the assigned reading:
- §9.0 Concepts and Prerequisites
- §9.8 Fallacies and Pitfalls
- §9.9 Concluding Remarks: Continuous Refactoring