TDD for Embedded C
2016-02-15 11:00:30 UTC
Most useful learnings:
Having done TDD before I was already familiar with the concepts, albeit in an object-oriented manner. The most useful thing I learned was that we can start applying these concepts, today, in our embedded C environment. I had assumed there would be more of a barrier.
Concepts v exercises:
Not enough exercises
Presentation v discussion:
Too much presentation
Sometimes the slides felt a bit disjointed - plenty of hopping around between slides showing different and not apparently related concepts.
A little more focus on refactoring would also have been useful, particularly in respect to identifying the refactoring techniques such as extract-function, extract-module, parameterise-function etc. TDD and refactoring go hand in hand in legacy code, and I'm not sure this was particularly apparent to the audience.
I would have liked to have done more with mocks. They are complex and could have done with more attention, especially as they are likely to be quite heavily employed in our embedded unit tests.
Extremely knowledgeable, passionate about the subject and plenty of experience applying the techniques taught in the course. A nice guy, and happy to buy a round of beers too ;-)
Bring it on!
Tomorrow? We are starting today!
Challenges to applying:
The main barrier is the cultural shift required away from deadline-driven short-termism towards longer term investment in good, tested/testable and maintainable code. The fact that our management are keen is a good sign, although it will be interesting to see how they deal with the reality of a slowdown in development pace while this is adopted.
Legacy code workshop:
Recommend to others: