Skip to content

Repository files navigation

Clean Code Slides

CI License

Overview

This repository contains slide decks for Clean Code conversations and classes.

Development

Install Node.js 24 or later, Pandoc, and LaTeX. Then install the development dependencies and run the validation and rendering steps:

npm ci --ignore-scripts
make check
make -j

Everything under _site is generated. Each deck renders to a PDF, and the published index page is built from the Curriculum section below via index.template.html and index.lua, so the tables here are the only place the curriculum is edited.

Curriculum

Fundamentals (Yellow Belt)

# Session Type Name
1 Discussion Introduction
2 Discussion Names++
3 Coding Dojo "Change" Refactoring Kata (Python, C++)
4 Discussion Functions
5 Coding Dojo FizzBuzz Kata (Python, C++)
6 Discussion Function Structure
7 Coding Dojo Tennis Kata (Python, C++)
8 Discussion Form
9 Coding Dojo Bowling Kata (Python, C++)
10 Discussion TDD
11 Coding Dojo Repeat after Uncle Bob
12 Discussion "Polly want a message"
13 Coding Dojo Participant choice

SOLID (Orange Belt)

# Session Type Name
1 Discussion Foundations of the SOLID principles
2 Discussion The Single Responsibility Principle
3 Coding Dojo Gilded Rose Refactoring Kata (Python, C++)
4 Discussion The Dependency Inversion Principle
5 Coding Dojo Smart Home Refactoring Kata (Python, C++)
6 Discussion The Interface Segregation Principle
7 Coding Dojo Media Player Refactoring Kata (Python, C++)
8 Discussion The Open-Closed Principle
9 Coding Dojo Expense Report Refactoring Kata (Python, C++)
10 Discussion The Liskov Substitution Principle
11 Coding Dojo Game of Life Refactoring Kata (Python, C++)

Advanced TDD (Green Belt)

# Session Type Name
1 Discussion Advanced TDD
2 Coding Dojo Roman Numerals Kata (Python, C++)
3 Discussion Clean Tests
4 Coding Dojo Mars Rover Kata (Python, C++)
5 Coding Mob Mars Rover Kata (Python, C++)
6 Discussion Test Design / Test Process
7 Coding Dojo Hyper-optimized Telemetry Kata (Python, C++)
8 Discussion Student Code Demo
9 Discussion Mocking
10 Coding Dojo Tire Pressure Monitoring Kata (Python, C++)
11 Discussion Transformation Priority Premise
12 Coding Dojo "99 Bottles of Beer" Kata (Python, C++)
13 Discussion Student Code Demo 2

Legacy Code (Blue Belt)

# Session Type Name
1 Discussion Understanding Legacy Code
2 Kata Identifying Legacy Code Kata
3 Discussion Building a Safety Net
4 Kata Characterization Testing Kata
5 Discussion Safe, Non-Invasive Changes
6 Kata Sprouting & Wrapping Kata
7 Discussion Core Dependency Breaking Techniques
8 Kata Dependency Breaking Kata
9 Discussion Advanced Topics & Large-Scale Strategy
10 Kata Large-Scale Refactoring Kata

Used by

Contributors

Languages