An open API service indexing awesome lists of open source software.

https://github.com/johlav/coding-dojo

Test-Driven Development (TDD) training sessions with two senior developers following the Coding Dojo website
https://github.com/johlav/coding-dojo

biomejs typescript vite vitest vitest-coverage

Last synced: 3 months ago
JSON representation

Test-Driven Development (TDD) training sessions with two senior developers following the Coding Dojo website

Awesome Lists containing this project

README

        

# Coding-Dojo

As part of my continuous improvement efforts, I actively participate in **Test-Driven Development (TDD)** training sessions. These sessions are conducted in collaboration with two senior developers and emphasize hands-on practice to deepen my understanding of TDD principles and techniques.

### Tools and Technologies
- **Programming Language**: TypeScript
- **Testing Framework**: Vitest

### Practiced Katas
1. [FizzBuzz](https://codingdojo.org/fr/kata/FizzBuzz/)
2. [LeapYears](https://codingdojo.org/kata/LeapYears/)
3. [EmployeeReport](https://codingdojo.org/kata/Employee-Report/)
4. [PokerHands](https://codingdojo.org/kata/PokerHands/)
5. [Bowling](https://codingdojo.org/kata/Bowling/)

### Workflow Approach
1. **Problem Exploration**
- Select coding katas from the **CodingDojo website** as practical exercises.
- Understand the problem requirements and constraints thoroughly before implementation.

2. **Write the Test First**
- Define the expected behavior by writing a failing test case.
- Focus on small, incremental changes to ensure clarity and simplicity in testing.

3. **Implement the Minimum Code**
- Write the minimal code required to make the test pass.
- Maintain a sharp focus on meeting the test's requirements without over-engineering.

4. **Refactor**
- Improve the code's structure and readability while keeping all tests green.
- Ensure the solution adheres to best practices, such as the **DRY (Don't Repeat Yourself)** principle.

5. **Repeat**
- Iterate through the **Red-Green-Refactor cycle** until the solution is complete.
- Expand the test coverage as new scenarios or edge cases are discovered.

### Benefits Gained
- Enhanced my ability to write **clean, maintainable code**.
- Improved my debugging skills by catching issues early in the development cycle.
- Strengthened my collaboration skills through knowledge exchange with senior developers.
- Built confidence in using **Vitest** for unit tests.