TDD for Embedded C
2023-11-05 22:47:24 UTC
Most useful learnings:
The strategy of only writing code to make a test pass. If you do this well you won't end up with a bunch of test debt and instead will generate functional code in a consistent and manageable way.
Concepts v exercises:
Presentation v discussion:
Perhaps if for each concept there was more than one example. For instance, for testing direct inputs and direct outputs only one example was given and that was the circular buffer, maybe another example of testing direct inputs and outputs could be given.
Yes I have begun integrating TDD into my work as much as possible. Even if I only apply TDD to a small section of my code base I feel a lot more secure about that section of code which allows me to focus on other sections of code.
Challenges to applying:
Remaining calm in the face of tight deadlines and not just starting to write code, instead writing in a TDD fashion.
There is also a pressure to produce something that to other team members / clients appears to represent a lot of output, think UI or actuators, however it is very easy to get something to look like it's working and not very easy to get something working robustly that's well architected to be extensible and maintainable. Managing these expectations is difficult.
Legacy code workshop:
Recommend to others: