~/talk

So, you inherited a large code base...

Talkat CppCon 2017 · 2017-09-24..09-29· [legacy-modernisation, developer-experience]
linkedin:david-sankel
slides:none on file

Describes converting a huge legacy C++ codebase into modern shape by automation, measurement, and staged migrations rather than one big rewrite. Demonstrates clang-based refactoring using the Python clang bindings and a ~500 line script driven from a CMake compilation database, promotes low-risk global changes like clang-format, and insists on an infrastructure team, CI, and tests that wrap old interfaces for safe rewrites. Teaches mnemonic methods to reason about tangled interactions and advocates incremental migration paths with instrumentation and proven semantic equivalence.

AI-written summary · about

  1. 0:00Intro
  2. 1:19New Assignment
  3. 1:58Characteristics of Large Projects
  4. 5:18Dangerous Assumptions
  5. 7:50Distractions
  6. 11:04Follow through
  7. 11:56Principle pitfalls for large projects
  8. 14:35Day 1.5: clang-format
  9. 15:11Automation of changes
  10. 18:32General Infrastructure automation Things to automate
  11. 20:59Reasoning the codebase
  12. 22:03Levelization Example
  13. 26:35Mnemonic methods
  14. 27:09Challenge Spectrum
  15. 31:30Migration path
  16. 34:32Replacing a plece
  17. 36:49Consistent code
  18. 37:13Organized and well-documented code
  19. 37:35Tested code
  20. 40:31Same characteristics
  21. 41:00The same pitfalls apply
  22. 42:12Key questions for the C++ Committee
~/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.