TDD for Embedded C++
2016-04-01 19:54:50 UTC
Most useful learnings:
Walking skeleton. Much of the entry level literature on TDD involves developing single functions. I would find myself getting stuck when trying to work with multiple, new classes.
Techniques for getting legacy code into a test harness. Too often I would test the new code but just give up when changing legacy code.
Sorry, I couldn't pick just one thing!
Concepts v exercises:
Presentation v discussion:
More time discussing design, SOLID, etc would be helpful. This might be because I was already familiar with a lot of the basics
I would have also liked to get more time on the exercises - I think our team could have used the phases that show refactoring to remove if/switch statements but I don't know where we would have found the time.
Personally I would have liked for the flash driver program to be in C++ but I see the value in doing the exercise in C. It stops the argument "Well yeah you can TDD in C++ but not in C"
Bring it on!
Yes! I was already mosly TDD'ing but now I feel like I am more equipped and have some new tools to do it 100% of the time.
Challenges to applying:
Legacy code: Lack of interfaces, God classes and Singletons. Culture: Some people haven't seen the light and continue to make bad design decisions slowing down the people who are trying to do the right thing.
Legacy code workshop:
Recommend to others: