Back To Schedule
Keynote: Contracts, Testing, and the Pursuit of Well Defined Behaviour
15:45 - 17:15 Wednesday 19th July 2023 EDT All Tracks
Everyone wants their code to be fast, safe, and correct. It seems that we cannot achieve all three simultaneously – or can we? What if Design by Contract goes a long way towards achieving this goal?
This talk covers what Contracts are, why they bring huge benefits to our codebases and tooling, and how to use them in C++ today. We will further look at the ongoing effort to standardise a contract-checking facility for C++26, which would enable Contracts use across libraries and codebases. We will learn about the difference between assertions and assumptions, hard and soft undefined behaviour, narrow and wide contracts, and testing your tests — and reconsider how we design, test, and implement our C++ APIs and how we think about code.
Timur Doumler is the Developer Advocate for C++ tools at JetBrains and co-host of CppCast. He is an active member of the ISO C++ standard committee, where he is currently co-chair of the Contracts study group. As a developer, he worked many years in the audio and music technology industry and co-founded the music tech startup Cradle. Timur is passionate about clean code, good tools, low latency, and the evolution of the C++ language.