~/talk

Theory of programming: packaging principles

Talkat phpday 2023 · 2023-05-18..05-19· [php, developer-experience]
slides:none on file

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

  1. 0:00Packaging principles intro
  2. 1:24Abstraction and memory limits
  3. 3:56Layers manage complexity
  4. 5:42Balancing abstraction
  5. 6:48What defines a package
  6. 7:51Cohesion and reuse
  7. 9:59Trade-offs in packaging
  8. 12:48Avoid cyclic dependencies
  9. 14:13Stable dependencies
  10. 17:47Measuring stability
  11. 19:57Left pad disasters
  12. 21:27Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.