TDD for C++
2020-04-10 04:14:06 UTC
Most useful learnings:
- overall philosophy was a great reinforcement. The value of TDD has been made crystal clear.
- I particularly enjoyed the live coding/presentation of adding unit tests to legacy code (although a bit lengthy).
Concepts v exercises:
Too many exercises
Presentation v discussion:
- cyber dojo software was cool, but unfamiliar. Some participants were being put on the spot at times, which probably led to embarrassment among peers.
- sessions of James coding, adding tests, and talking through it... were too lengthy. Got the point well before completion of the exercise. Make them simpler. Get to the point sooner.
- no lunch break, and no break at all on day 2 (besides, "take your own break during the exercise, if you need it").
- we were encouraged to write failed tests, or code that doesn't compile, and then go back and fix - I don't work that way. And our build times don't allow for such tight fail/fix iterations. Consider this when instructing others.
- (#1 peeve) There should be much less emphasis on the ability of participants to code the classes (problem solving skills) in the exercise, and more on the process for writing tests. I like solving problems. But I am a very methodical, analytical thinker. Solving problems in this environment doesn't work well for me. I solve problems independently. Sorry, that's just how I am successful. This isn't a problem solving course. It's a test-driven development course. Make it that. Make the problems ridiculously simple. Make the course about test development ... not problem solving.
- James was clearly experienced as a coder and presenter/instructor. Professional, and with a good sense of humor.
- I believe James sincerely wants to help all developers to embrace the TDD methodology
- personally I did not need a lesson on duplicate code, or refactoring, or how to add a parameter to a function. I beat this drum every day. So, I at least appreciate James reinforcing the benefits for my peers. I'm sure that sounds arrogant, but I'm in complete agreement on keeping code clean. I am just not sure I saw the direct correlation between clean code, and TDD.
Tomorrow, literally? No. Next week, possibly. Many deliverables stacking up while on training, which simply are not coding related. I.e. even if coding related, probably aren't in that foundation layer where unit tests apply. I'll be lucky to encounter a use in the next month. Don't get me wrong. I'm drinking the cool-aid. And I will apply when appropriate.
Challenges to applying:
See previous response.
Video glitches were a little distracting. Maybe zoom? Idk. Your audio was perfect, though. No issues there. And the lag didn't affect ability to understand the visuals.
I blew the stack on a couple of these responses (> 1000 chars). Had to break to other, maybe less appropriate text fields. Anyway, I'd be happy to elaborate on any of this, if you want.
Legacy code workshop:
Recommend to others:
Only if improved