Book Exercise Lanes
This module is judgment-heavy, so the "exercises" are produced artifacts rather than book problem sets. Use these four lanes to get volume on the skills after you have already learned them from the concept pages.
How To Use This Page
- Finish the relevant concept page first.
- Try the artifact from memory once.
- Only then open the matching chunks for shape reinforcement.
- Keep a mistake log with tags such as
patterned before I had pressure,review comment with no evidence,ADR without alternatives,over-mocked test,irreversible decision not flagged, orPR too large / commits too messy.
Lane 1: Integration -- Patterns in a Real Feature
Use this lane when you can name individual patterns but still freeze when building a real feature.
Chunk reinforcements:
- Head First Design Patterns: Intro to design patterns
- Head First Design Patterns: Compound patterns
- Head First Design Patterns: May the force be with you (part 1)
- Head First Design Patterns: Decorator pattern
- Head First Design Patterns: Factory method defined
- Clean Code: Simple design rules
- Refactoring: YAGNI and process
Target outcomes:
- 1 complete
PricingEngine-style feature (or equivalent) with at least three patterns combined deliberately - 1 pressure table in the README (pressure, smell without pattern, pattern, cost accepted)
- 3+ tests per pattern
- 1 ADR attached
Lane 2: Review -- Comments on Real Code
Use this lane when you can identify problems in code but struggle to write a review comment that lands.
Chunk reinforcements:
- Clean Code: What is clean code (part 1)
- Clean Code: Comments do not make up for bad code
- Clean Code: Redundant comments to scary noise
- Good Code Bad Code: Code Quality
- Good Code Bad Code: Comments are a poor substitute for descriptive names
- Good Code Bad Code: Other engineers and code contracts
- External: Google: What to look for in a code review
- External: Google: How to write code review comments
- External: Michael Lynch: How to do a code review (human side)
Target outcomes:
- 12+ review comments produced on provided samples (Practice 2)
- Each labeled by bucket (correctness / clarity / design / tests) and nit/substantive
- At least 2 review comments written on a real PR (open-source or a teammate's)
- 1 "receive feedback" reply written for a disagreement, using the 5-step pattern
Lane 3: Documentation -- ADRs, Design Docs, Diagrams
Use this lane when your code is fine but nobody else understands why it looks that way.
Chunk reinforcements:
- Clean Code: How would you build a city
- Clean Code: Scaling up, cross-cutting concerns
- Good Code Bad Code: How this book is organized
- OOAD: Choosing the diagrams
- OOAD: Which UML diagrams should we choose
- OOAD: Sequence diagrams (MVC chapter)
- External: adr.github.io
- External: Nygard: Documenting Architecture Decisions
- External: joelparkerhenderson/architecture-decision-record
- External: c4model.com
Target outcomes:
- 2+ ADRs in Context / Decision / Alternatives / Consequences format (one per realistic one-way door)
- 1 two-page design doc for a feature you are actually building
- 1 Mermaid sequence diagram with at least one failure branch
- 1 C4 container diagram of a real system (yours or an OSS one)
Lane 4: Stewardship -- Shape the History and the Workflow
Use this lane when you ship correct code but it is painful to review and read later.
Chunk reinforcements:
- Clean Code: Attitude
- Clean Code: We are authors
- Clean Code: F.I.R.S.T.
- Clean Code: Classes should be small
- Clean Code: Successive refinement
- Refactoring: Why should we refactor
- Refactoring: When should we refactor (part 1)
- Refactoring: When should we refactor (part 2)
- Refactoring: Going further
- External: Conventional Commits v1.0.0
- External: Google: The CL author's guide
- External: Google: Speed of code reviews
Target outcomes:
- 1 branch rewritten with
git rebase -iinto 3-7 one-intent commits - 1 PR description using the full template (Summary, Risk/Rollback, How to Verify, Not in Scope)
- 1
pre-commitconfig and CI job wired up in a real repo (formatter + linter + tests) - 1 broken-window cleanup commit landed in a real codebase, called out in the PR body
Completion Checklist
- Completed at least two lanes in full
- Produced at least 2 ADRs and 1 design doc in Lane 3
- Produced at least 12 review comments in Lane 2
- Logged at least 10 real judgment mistakes across the lanes
- Reattempted at least 2 artifacts after peer or self-delayed critique