Theory of programming: packaging principles
summary
Presentation claims six package-level principles (R, CCP, CRP etc.) that extend SOLID into concrete rules like Reuse-Release Equivalence, shows formulas for instability and abstractness and defines a D-metric (distance from the ideal line) to flag bad packages. Demonstrations use dependency graphs and tools (clue/graph composer, PHPDepend, PHP Metrics) plus CI checks, cites a surprising real-world consequence (the left-pad incident) and reports projects growing to 200 packages while metrics and interfaces keep changes local.
AI-written summary · about
chapters (12)
- 0:00Packaging principles intro
- 1:24Abstraction and memory limits
- 3:56Layers manage complexity
- 5:42Balancing abstraction
- 6:48What defines a package
- 7:51Cohesion and reuse
- 9:59Trade-offs in packaging
- 12:48Avoid cyclic dependencies
- 14:13Stable dependencies
- 17:47Measuring stability
- 19:57Left pad disasters
- 21:27Q&A








