Hello, welcome to the Living Documentation Workshop.
We are going to discover how we can use Roslyn to generate documentation from .NET source code.
See INSTALLATION.md for details about all prerequisites.
- Be very experienced with C#
- Able to write LINQ queries
- Know how to clone git repos
- Have an understanding of DDD
- Have knowledge of Markdown
- Able to draw UML diagrams
Optional knowledge:
- Familair with AsciiDoc and PlantUML
Clone this workshop on your local system.
cd c:\git
git clone "https://github.com/eNeRGy164/LivingDocumentation.Workshop.git"
Part 1: Roslyn
-
Get familiar with Syntax Trees
Visually inspect the syntax tree of an application.
-
Parse a syntax tree and inspect the structure.
-
Compile a syntax tree and inspect the semantic model.
-
Use the visitor pattern to act on specific parts of your tree.
-
Use Buildalyzer to import a whole project or solution to work with.
Part 2: Generate documentation
-
Quickly start acting on your code by generating an intermediate file with all relevant parts extracted from the syntax trees.
-
Get familiar with the types and start querying relations between classes, methods, invocations, etc.
-
Build a document describing components based on the parts of you code.
-
Build a class diagram from an aggregate.
-
Build a sequence diagram from services interacting with each other.