This course path teaches developers to enhance challenging codebases with safe, incremental changes. It covers dependency breaking, refactoring, and characterization testing to modernize existing systems while maintaining functionality.
What you'll learn
Apply sprout and wrap techniques to introduce changes safely
Identify functional, object, and preprocessor seams in C++ code
Break tightly coupled dependencies using interfaces and dependency injection
Refactor existing systems incrementally while preserving behavior
Create characterization tests that document current functionality
Increase test coverage to support safer code changes
Improve the maintainability, testability, and extensibility of C++ codebases
Instructor: Dennis Freeman, Kendra Pugh This course provides an integrated introduction to electrical engineering and computer science, including modern software engineering, linear systems analysis, electronic circuits, and decision-making. The lecture videos provide an overview of each topic, whi…