Navigating the development and evolution of a library
summary
Library success depends on concrete practices: clear overview, install and hello world examples, and reference docs. Tests run continuously in CI, use fuzzing and sanitizers like AddressSanitizer and OSS-Fuzz, and catch platform surprises; one std::sort fuzz harness runs for a year without finding faults. Expect heavy test investment (example: 600 lines of span code with ~6,000 test lines, and a single bug producing 13 updated tests). Release schedules, migration guides and backward-compat strategies reduce user cost.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:28About me
- 2:57Documentation
- 5:22Documentation overview
- 13:07Tests
- 17:19A good test suite
- 21:04Boost example
- 21:55Tools
- 23:03Compiler warnings
- 25:15Static analyzers
- 28:47Dynamic Analysis
- 34:10Fuzzing
- 40:25CLE
- 41:12Users
- 44:32Bug Example
- 54:48Learning from users
- 58:47Release management
related talks
01h 17mDevelopment strategies: You've written a library - now what?
31mTips for Library Development (from a Startup Developer)
47mAdventures with C++ Legacy Codebases: Tales of Incremental Improvement
58mMaking Libraries Consumable for Non-C++ Developers
32mBuilding a sustainable codebase: 7 years and counting
54mPractical Advice for Maintaining and Migrating Working Code
01h 02m“How to Write Effective Documentation for C++ Libraries..."
01h 32mClosing Keynote: C++ Development Tools: Past, Present and Future
