~/talk

Use your source code to document your application

Talkat NDC Oslo 2024 · 2024-06-10..06-14· [developer-experience]
slides:none on file

Uses Roslyn to parse syntax trees and semantic symbols, discovers that the visitor API has over 240 visit methods and Console.WriteLine has about 14–18 overloads, and builds an analyzer that emits a JSON intermediate describing types, fields, commands, handlers and event flows. A separate renderer turns that JSON into PlantUML, Mermaid, Markdown or AsciiDoc diagrams, traces command→event side effects, flags a missing command handler, and avoids repeated 30–60s analyses by decoupling analysis from rendering.

AI-written summary · about

  1. 0:00Introduction
  2. 2:38Goals and agenda
  3. 3:21Why docs matter
  4. 6:09Source code as docs
  5. 9:20Doc generation tools
  6. 11:34Living documentation benefits
  7. 14:07Roslyn and syntax trees
  8. 16:35Demo inspecting source
  9. 18:51Querying syntax trees
  10. 22:23Semantic models in Roslyn
  11. 26:00Syntax walkers and visitor
  12. 27:24Collecting using statements
  13. 29:25Workspace and MSBuild
  14. 32:02Docs for different audiences
  15. 33:12Output formats
  16. 34:37Diagrams with Mermaid
  17. 35:19Custom analyzer tool
  18. 37:31Analyzing workshop solution
  19. 38:13Inspecting events and commands
  20. 41:05Documenting command handlers
  21. 44:44Tracing side effects
  22. 47:46Markdown from code
  23. 49:00Visualizing service interactions
  24. 51:15Documenting aggregates
  25. 52:45Branching logic and state machines
  26. 54:10Long-running processes
  27. 55:35Reusing event docs
  28. 56:35API behavior with OpenAPI
  29. 57:153D and spatial docs
  30. 58:01Java analyzer extension
  31. 59:06Keeping docs up to date
  32. 59:27Living Documentation renamed
~/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.