|
|
|
|
|
by karmakaze
1386 days ago
|
|
For me, I usually have an idea for an overall simple design or approach that will likely work. If I'm unsure, I might post an issue that describes the theory of operation for feedback or iteration. TDD is the rest of what follows. Now what does work is if you can decompose the whole idea into parts, each of which is written using TDD. You might still want to outline some key interfaces so you get the shapes of things to fit. With practice, all this extra stuff often happens in your head as you're doing TDD and you make adjustments along the way. Also, the way you described making bottom-up things that didn't quite work, is a valid and possibly effective way of doing TDD. If you're able to determine that a lower implementation is unsuitable it can be rewritten and if the tests are not too brittle will give you confidence to do the rewrite safely and faster. |
|