TDD for Embedded C
2016-06-02 21:04:06 UTC
Most useful learnings:
Specific feedback on details of my own TDD process. It's the small misconceptions that I value the most.
Checking for a test failure by changing the production code and not the tests.
Refactoring tests using macros to give us access to line number information.
Concepts v exercises:
Presentation v discussion:
Discussion wasn't as vibrant as it could be, but I think that this is due to the medium.
I'm not sure if it's good or bad to use exercises that are derived from your book. I happen to have worked through them on my own from scratch a few times, though it's been awhile since I've seen the specifics. I wonder if the over-prepared few would gather more benefit from being forced to work in a new context.
Nice delivery and pace. Good job and handling the awkward silences that a remote classroom breeds.
I appreciate how you were able to drop in on everyone's work.
Bring it on!
Yes, I've already been sneaking stuff in. This course has legitimized my exploits in TDD, so I'm hoping to use it as a springboard to implement more changes.
In the worst possible case, this will definitely reinvigorate my experimentation at home.
Challenges to applying:
The biggest challenge that I've encountered is integrating the tests with our existing makefiles. We use a rather complex system of automakes, and it isn't easy to (or to get permission to) modify them. Still, I've been able to work around this for some of our side projects.
Beyond that, it will be difficult to convince others to learn and change. You've covered all the rational reasons to change and even touched on the admission that "I write bugs", but this still doesn't instill a desire for improvement (deflate the pride?) in others. They're one step removed from the experience, and I can only hope to show them how freeing TDD is.
I hope I didn't answer too many questions for the group.
I liked having public feedback on various individual's work. Having your work seen and seeing the work of others is a very effective way to learn.
Legacy code workshop:
Recommend to others: