A refactoring exercise based on tennis scoring rules to practice improving existing code.
Tennis Refactoring Kata is a practice exercise where developers refactor existing code that implements tennis scoring rules. It simulates a real-world scenario of taking over a colleague's work, with multiple flawed implementations to clean up while keeping tests passing. The goal is to improve code design and maintainability without altering functionality.
Software developers, coding bootcamp participants, and teams looking to practice refactoring techniques, code reading, and test-driven development in a controlled environment.
It offers a safe, structured way to hone refactoring skills with fast, comprehensive tests and multiple starting points. Unlike generic exercises, it includes realistic design flaws and guided resources, making it ideal for learning through hands-on correction.
This is a Refactoring Kata based on the rules of Tennis
Includes several versions like TennisGame1 and TennisGame3, each with unique design smells, providing diverse practice scenarios for refactoring.
Fast-running tests verify correctness, enabling test-driven refactoring and ensuring no behavior changes during improvements, as highlighted in the README.
Simulates taking over a colleague's incomplete work with billable hours, adding practical context to the refactoring exercise.
Offers video demos and exercises like 'Scanning for Code Smells' to build code reading and refactoring skills, as linked in the README.
Focused solely on tennis scoring logic, which may not directly apply to refactoring challenges in other business domains or complex systems.
Deliberate errors like hard-coded player names are simplified and may not reflect the nuanced, emergent issues found in real legacy codebases.
While tests are provided, the README lacks detailed instructions for environment setup in all languages, potentially hindering beginners.
Tutorials and programming exercises for learning Q# and quantum computing
Starting code for the GildedRose Refactoring Kata in many programming languages.
A set of exercises for deliberate Git Practice
My list of code katas
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.