specific instructions for what not to add in each iteration

This commit is contained in:
Willem van den Ende 2026-06-13 15:36:08 +01:00
parent 461bc7f776
commit 75305b3ddd

View File

@ -102,8 +102,6 @@ class Character {
} }
``` ```
**Key principles:** **Key principles:**
- **ADTs over classes** — use discriminated unions for state/variants - **ADTs over classes** — use discriminated unions for state/variants
@ -122,21 +120,19 @@ Before writing a method or class, ask:
> **The litmus test:** If you can't point to a failing property that demands this code, don't write it. Future stories will reveal what abstractions are actually needed — and they'll look different than you expect. > **The litmus test:** If you can't point to a failing property that demands this code, don't write it. Future stories will reveal what abstractions are actually needed — and they'll look different than you expect.
### What to skip per story (common traps) ### What to skip per story (common traps)
| Story | Don't implement | Belongs to | | Story | Don't implement | Belongs to |
|---|---|---| | ------------ | -------------------------------- | ----------------------------- |
| 1 (Creation) | `isAllyOf`, `isAlive`, `isDead` | Stories 3+ | | 1 (Creation) | `isAllyOf`, `isAlive`, `isDead` | Stories 3+ |
| 1 (Creation) | `Health.add()`, `Health.isMax()` | Stories 3/4 | | 1 (Creation) | `Health.add()`, `Health.isMax()` | Stories 3/4 |
| 1 (Creation) | `Level.next()`, `Level.diff()` | Story 5 | | 1 (Creation) | `Level.next()`, `Level.diff()` | Story 5 |
| 2 (Damage) | `Damage` value object | Only if a property demands it | | 2 (Damage) | `Damage` value object | Only if a property demands it |
| 2 (Damage) | Level modifier (±50%) | Story 3 | | 2 (Damage) | Level modifier (±50%) | Story 3 |
| 2 (Damage) | Faction/ally checks | Story 3 | | 2 (Damage) | Faction/ally checks | Story 3 |
| 3 (Levels) | MagicalObjects | Story 4 | | 3 (Levels) | MagicalObjects | Story 4 |
| 3 (Levels) | Level-up tracking | Story 5 | | 3 (Levels) | Level-up tracking | Story 5 |
| 4 (Objects) | `joinFaction` / `leaveFaction` | Story 3 | | 4 (Objects) | `joinFaction` / `leaveFaction` | Story 3 |
### Example: Damage Property ### Example: Damage Property