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.
- Programming Language: TypeScript
- Testing Framework: Vitest
-
Problem Exploration
- Select coding katas from the CodingDojo website as practical exercises.
- Understand the problem requirements and constraints thoroughly before implementation.
-
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.
-
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.
-
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.
-
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.
- 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.