Mistakes to Avoid When Writing C++ Projects
summary
Argues C++ projects need explicit contracts beyond language-level APIs and applies design‑by‑contract to project operations, claiming Bloomberg manages tens of thousands of repos and needs scaleable rules. Breaks the build workflow into provision → resolve → build → package; warns against ad‑hoc vendoring, ambiguous names, missing CI/tests, and hard‑coded flags. Demonstrates a small CMake + GitHub Actions prototype and a CPS JSON metadata format (zero code prototype) that generates CI checks and works as an experiment for interoperable packaging.
AI-written summary · about
chapters (10)
- 0:00Introduction and project overview
- 1:08Why project interfaces matter
- 4:01Design by contract principles
- 14:31Build workflow design
- 27:51Practical dos and don'ts
- 53:06Header identity and file extensions
- 1:09:36Build system best practices
- 1:12:01Zero code project demo
- 1:18:43Design principles and standards
- 1:31:54Q&A and closing
related talks
01h 26mOur Other C++ Interfaces
01h 17mFunction Contracts in Practice using C++
58mDependency Management at the End of the Rainbow
01h 31mWhat C++ Needs to be Safe
01h 27mContractual Disappointment in C++
58mAvoid Misuse of Contracts!
57mThe Real Problem of C++
58mHow to Build Cpp Interfaces That Are Hard to Use Incorrectly
