diff --git a/Makefile b/Makefile index 34ca764..296467e 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,8 @@ MARKDOWNS := $(shell find . -mindepth 2 -name '*.md' \ -not -path './node_modules/*' -not -path './$(OUTDIR)/*' | sed 's|^\./||' | sort) PDFS := $(patsubst %.md,$(OUTDIR)/%.pdf,$(MARKDOWNS)) MDFLAGS := -f markdown -t beamer -s -H include.tex -V aspectratio:169 -V urlcolor:red -HTMLFLAGS := -f markdown -t html5 -s --template index.template.html --lua-filter index.lua +HTMLFLAGS := -f markdown -t html5 -s --template index.template.html --lua-filter index.lua \ + --metadata title="Clean Code Slides" .PHONY: all check clean format format-check lint diff --git a/README.md b/README.md index 079412a..9c4826e 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ## Overview -Here you can find slides for Clean Code conversations or classes. +This repository contains slide decks for Clean Code conversations and classes. ## Development @@ -85,7 +85,7 @@ here are the only place the curriculum is edited. | 1 | Discussion | [Advanced TDD](advanced-tdd/01-advanced-tdd.md#warmup) | | 2 | Coding Dojo | Roman Numerals Kata ([Python][roman-numerals-python], [C++][roman-numerals-cpp]) | | 3 | Discussion | [Clean Tests](advanced-tdd/03-clean-tests.md#warmup) | -| 4 | Coding Dojo | Mars Rover Kata ([Python][mars-rover-python], [C++][mars-rover-python]) | +| 4 | Coding Dojo | Mars Rover Kata ([Python][mars-rover-python], [C++][mars-rover-cpp]) | | 5 | Coding Mob | Mars Rover Kata ([Python][mars-rover-python], [C++][mars-rover-cpp]) | | 6 | Discussion | Test Design / Test Process | | 7 | Coding Dojo | Hyper-optimized Telemetry Kata ([Python][hyper-optimized-telemetry-python], [C++][hyper-optimized-telemetry-cpp]) | diff --git a/index.template.html b/index.template.html index 2d1be2d..f8c0a5b 100644 --- a/index.template.html +++ b/index.template.html @@ -5,7 +5,7 @@ - Clean Code Slides + $pagetitle$ of Change | Scope | Purpose | Risk | Code Impact | -| ------------- | ----------------------- | ---------------- | ------------------------------ | ---- | ------------------------- | -| Sprout Method | Same class | One method | Isolate new logic | Low | Add method,
call it | -| Sprout Class | New class | Functionality | Extract cohesive
behavior | Low | New class,
inject it | -| Wrap Method | Same class | One method | Insert logic around
method | Low | Rename + wrap
method | -| Wrap Class | Subclass | Multiple methods | Modify/extend
behavior | Med | New subclass
created | +| Technique | Location
of Change | Scope | Purpose | Risk | Code Impact | +| ------------- | ----------------------- | ---------------- | ------------------------------------ | ---- | ------------------------- | +| Sprout Method | Same class | One method | Isolate new logic | Low | Add method,
call it | +| Sprout Class | New class | Functionality | Extract cohesive
behavior | Low | New class,
inject it | +| Wrap Method | Same class | One method | Insert logic around
method | Low | Rename + wrap
method | +| Wrap Class | Wrapper | Multiple methods | Add behavior around
legacy class | Med | New wrapper
created | # Summary diff --git a/legacy-code/06-kata-sprouting-wrapping.md b/legacy-code/06-kata-sprouting-wrapping.md index c987d2b..a11381e 100644 --- a/legacy-code/06-kata-sprouting-wrapping.md +++ b/legacy-code/06-kata-sprouting-wrapping.md @@ -36,15 +36,15 @@ class UserManager: # Tasks 1. **Sprouting (20 min)** - - Add a new authentication method that uses a user database or config file - - Do not modify the original method + - Add new authentication logic in a separate method that uses a user database or config file + - Make only the minimal change to the original method needed to call the new method 2. **Wrapping (20 min)** - Create a wrapper that logs authentication attempts - Ensure the wrapper can be tested independently 3. **Testing (30 min)** - - Write tests for both the new and legacy authentication methods + - Write tests for both the new method and the original authentication entry point - Validate that wrapping does not change legacy behavior 4. **Review (20 min)**