Workshop: Accelerated TDD - For More Productive C++
We all know that writing tests for our code is “what we should do”, and maybe we’re even doing that already. But it feels like extra busy-work that slows us down – and they hardly ever catch any bugs anyway…
Maybe we’ve even tried TDD, and felt that it was just adding even more ceremony to the problem with no real advantages.
But the advantages are definitely there! We just need a good grounding in what TDD actually is (and isn’t) and how to do it properly – especially in the context of C++, which brings it’s own idiosyncrasies and bottlenecks to the matter.
That’s what this workshop aims to be. Whether you’ve never written a test before, or you’ve had some mileage with TDD already, be prepared to ratchet up your productivity by thinking about things in new ways and gaining more approaches to breaking down problems in sustainable ways.
This workshop is intended for anyone who wants to improve the quality, readability, flexibility and suitability of their code. Whether you've tried TDD before and want to brush up and learn some new perspectives, or you're completely new and want to see what the fuss is about.
You should have at least a basic grasp of C++ fundamentals and be comfortable creating new projects, building and running them. No prior TDD or unit testing experience is required - but if you have some you should still get something out of this course.
You should ideally have your own laptop, with a compiler and IDE (or other editing environment you are comfortable with). You will be encouraged to work in pairs, so if any of this is a problem we should be able to make it work.
Your laptop should be able to join the venue's wi-fi.
Phil is the author of the C++ test framework, Catch2, and the composable command line parser, Clara. As Developer Advocate at JetBrains he's involved with CLion, AppCode and ReSharper C++. More generally he's an advocate for good testing practices, TDD and using the type system and functional techniques to reduce complexity and increase correctness. He's previously worked in Finance and Mobile as well as an independent consultant and coach specialising in TDD on iOS.