Increasing Code Test Coverage
This course explores how to improve code test coverage and foster a more testable codebase. Increasing code test coverage is essential for ensuring confidence in modifying existing systems. It allows developers to make changes with minimal risk of introducing bugs, by providing a safety net of tests that document existing and desired behaviors.
Breaking Dependencies to Improve Code
Breaking dependencies is crucial in existing systems to make them more testable, maintainable, and extensible. By reducing coupling and isolating functionality, developers can introduce changes incrementally while minimizing risks. In this course we focus on removing coupling with interfaces and dependency injection techniques for testability.
Using Seams to Enable Testability and Expand Capabilities
Seams are strategic points in code where behavior can be modified without altering the existing implementation. They are crucial for introducing changes safely, enabling testing, and refactoring legacy systems incrementally. This course explores functional, object, and preprocessor seams, and their role in improving code maintainability.
Using Sprout and Wrap Techniques
Sprout techniques involve creating new methods or classes to encapsulate additional functionality or refactored behavior. These techniques help to safely introduce changes while preserving existing behavior, minimizing risks, and improving testability. In this course we will use sprout techniques with methods and objects to refactor or expand capabilities.