Zen and the Art of Code Lifecycle Maintenance
summary
Six concrete takeaways: define six orthogonal qualities (correctness, applicability, reliability, efficiency, evolvability, reasonability), use the type system and tests as primary tools, and treat IO errors and logic-contract errors differently. Techniques demonstrated include property-based testing (Catch generators) and fuzzing, C++23 std::optional .map/.or_else and mention of std::expected / Boost.Outcome, plus Compiler Explorer comparisons that show an immediately‑invoked lambda version can save ~40 assembly lines versus naive code.
AI-written summary · about
chapters (19)
- 0:00Intro
- 2:41Software Quality
- 5:30What is Software Quality
- 8:05What is Structural Quality
- 12:16Six Qualities
- 13:40correctness and applicability
- 15:50alignment track
- 20:03code coverage
- 24:59error paths
- 27:52example code
- 31:46error codes
- 33:21Logic errors
- 37:21Bounded integers
- 40:54Reasonability
- 46:48Reasonability and Efficiency
- 49:51Function of Programming
- 55:53PropertyBased Testing
- 57:09Summary
- 58:25Zen
related talks
54mSeeing Like a Programmer - Resiliency, Limits, And Moral Hazards In SE
01h 29m“Simplicity: Not Just For Beginners”
01h 09mPlenary: Coping With Other People's C++ Code
31mZen of Testing
01h 18mKeynote: Steps to Wisdom for C++ Developers
46mStaying Human While Coding
42mTo Code is Human
01h 08mKEYNOTE - Emotional Code
