Zen and the Art of Code Life Cycle Maintenance
summary
Argues software quality as six concrete properties (correctness, applicability, reliability, efficiency, evolvability, reasonability) and shows where they trade off, citing a study that puts only 7% of firms in the high-alignment high-effectiveness quadrant while 74% sit in maintenance and describes the alignment trap. Recommends specific tools and techniques: property-based testing, fuzz and manual testing, result/optional types and correct by construction value types (month wrapper), contracts/opt-in checks, immediately-invoked lambdas to avoid uninitialized state, measurable compiler wins and Sonar static analysis.
AI-written summary · about
chapters (35)
- 0:00Introduction
- 1:30About Phil Nash
- 4:07Two types of quality
- 6:12CIQ
- 9:39Application and correctness
- 12:36The alignment trap
- 16:34correctness and applicability
- 16:45correctness and reliability
- 16:57code coverage
- 17:13Branch coverage
- 17:54Propertybased testing
- 18:50Fast testing
- 19:14Manual testing
- 19:52Error paths
- 22:00C example
- 24:36Nullable types
- 25:00Result types
- 26:00Logic errors
- 30:05String checks
- 31:19Ada
- 33:26Contract Check
- 34:43Functional Programming Techniques
- 34:59Talking to Simplicity
- 36:09Common Causes of Complexity
- 38:11Benefits of Lowering Complexity
- 38:46Formula for Success
- 39:33Reasonability Efficiency
- 40:54Systems languages
- 42:39C Plus
- 44:01Ternary Operator
- 47:49Property Based Testing
- 50:53Code Analysis
- 51:29Michael Feathers
- 53:10Meditation
- 53:57Questions
related talks
01h 00mZen and the art of life cycle maintenance
33mBuilding Code Quality
40mAssuring top-notch code quality in the Java Universe
59mTechniques for writing high-quality code
42marchitect's Guide to Managing a Code Base
18mBuilding a Culture of Code Quality
43mBuild in Quality
43mWhat Comes After SOLID? Seeking Holistic Software Quality
