~/talk

Dealing with software dependencies

Talkat Meeting C++ 2017 · 2017-11-09..11-11· [rust]
links:none on file
links:none on file
slides:none on file

Explains when dependencies are actual problems and when they’re just words, demonstrates concrete fixes (forward declarations, pImpl, turning public includes into private, dependency inversion) and tools that find cycles and unreachable components. Shows cpp-dependencies and an interactive visualizer spindle that scan millions of lines in seconds, highlights a real edit (moving color files from graphics to util) that breaks a cycle, and argues C++20 modules reduce parsing cost but do not automatically eliminate unwanted dependencies.

AI-written summary · about

  1. 0:00Introduction
  2. 1:38Table of content
  3. 2:19Dependency definition
  4. 3:12Direct vs Indirect
  5. 5:25Cyclic vs Acyclic
  6. 6:55Transitive closure
  7. 8:05Dependency types
  8. 16:14SOLID
  9. 17:11Single responsibility principle
  10. 17:48Interface segregation
  11. 18:50Dependency inversion
  12. 21:48Upsides
  13. 22:18Downsides
  14. 27:35Modules
  15. 28:47What's wrong with macros and #include ?
  16. 29:42Root problem
  17. 32:02Actual implementations
  18. 33:41Dependency glasses
  19. 35:08How to reduce dependencies
  20. 37:50Remove stale / unused dependencies
  21. 40:39Forward declarations
  22. 42:39Dependency Injection
  23. 43:38Invert (some) dependencies
  24. 46:03Why fix cyclic dependencies
  25. 49:39How to fix cyclic dependencies
  26. 49:53Code motion
  27. 50:24Split component
  28. 51:29Invert dependency
  29. 52:30Extract common component
  30. 53:19Extract driver
  31. 53:59Merge components
  32. 54:57Dependency visualization
  33. 57:21Cpp-dependencies output
  34. 58:38Spindel view
~/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.