Increasing Code Test Coverage
This course explores how to improve test coverage and foster a more testable codebase in Scala projects. Increasing code test coverage is essential for ensuring confidence when 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 traits 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 incrementally refactoring legacy systems. This course explores functional and object seams and their role in improving code maintainability in Scala.
Using Sprout and Wrap Techniques
Sprout and wrap techniques help safely add or modify functionality in existing code by introducing new methods, classes, or wrappers. These approaches minimize risk, preserve legacy behavior, and improve testability. This course covers both techniques for refactoring and expanding Scala code.