0xBADC0DE
summary
Examples show single-line disasters like the duplicated "goto fail" and the Heartbleed bug and claim modern C++ features already eliminate many classic mistakes. Concrete fixes include preferring stack allocation and RAII over raw new/delete, avoiding shared_ptr addiction, and using static tools such as Cppcheck and the clang-modernize toolchain plus doxygen/Graphviz and Catch for tests. One surprising metric mentioned is that only 40% of sites have unit tests, so refactoring must be justified with economics.
AI-written summary · about
chapters (29)
- 0:00Start
- 0:21About me
- 7:00Typical Problems
- 7:54There is hope!
- 8:52Examples of OxBADCODE
- 9:24Memoryleaks
- 10:07Code Example (Qt)
- 15:56Layers of Engineering
- 17:45Classdesign
- 21:08Monsters
- 22:09Init 'Pattern
- 24:39Anti Patterns
- 25:16More Examples?
- 25:37Dealing with / Using bad code
- 26:56On Refactoring...
- 27:53Dealing with bad code
- 29:36What if you can't fix it?
- 29:59Dealing with using bad code
- 30:16Prevention
- 32:21Modularize your Application
- 33:53Bad Code Culture
- 35:22Testing, lack of
- 35:42Testtooling support
- 37:14Seeing the bigger picture
- 38:06C++ Education
- 39:20Books
- 40:21C++ User Groups
- 42:56(My) Conclusions III
- 44:18Last slide...
related talks
01h 05mThe real problem of C++
01h 29mDelivering Safe C++
01h 30m50 shades of C++
59mTo err is human - error handling in C++26
01h 03mUnlocking the value of C++20
01h 30mC++ in Constrained Environments
01h 03mBringing Clean Code to large scale legacy Applications
01h 02mEmbedded Friendly C++: Features That Make a Difference
