When I am not sure how or even what I want to do I am in the exploration phase. Doing TDD in this phase leads to a lot of waste.
I have good experience with prototypes. These are little programs, that do only one thing and are 50 to maybe max 200 lines long. As they do only one thing checking them for correctness is really easy. If it outputs what you expected the "test" is green.
This allows very rapid iterations.
Adding approval tests afterward makes test-after cheap. Downsides: Edge cases are more difficult and I may not be that motivated to add enough unit tests afterward. The downsides may overweight the upsides.
I will not decide before a task what to do but go the path of least resistance.
I have good experience with prototypes. These are little programs, that do only one thing and are 50 to maybe max 200 lines long. As they do only one thing checking them for correctness is really easy. If it outputs what you expected the "test" is green.
This allows very rapid iterations.
Adding approval tests afterward makes test-after cheap. Downsides: Edge cases are more difficult and I may not be that motivated to add enough unit tests afterward. The downsides may overweight the upsides.
I will not decide before a task what to do but go the path of least resistance.
Comments
Post a Comment