This is the checklist. Use it on every change until it becomes automatic.
1. Does it do more than you asked?
The most common issue by far. You asked for a delete button, and it also added a
confirmation dialog, an undo feature and a toast message.
Extra work is not free. It is more code to understand, more to maintain, and more places to
be wrong. If you did not ask for it, ask why it is there.
2. Are your rules implemented as written, or as remembered?
Open your plan next to the diff and compare the actual numbers.
The gap multiplier is 1.2, not 1.25. The limit is 365, not 400. Rounded down, not rounded.
This is where Module 4’s rounding bug lived, and it is where this kind of bug always lives.
3. What happens at the edges?
Empty list. Zero. Missing value. Very large value. Negative number. Very long text.
Ask directly: what does this do if there are no cards? If the answer takes more than a
moment to work out, that is worth testing.
4. Is anything hard-coded that should not be?
Dates, limits, file paths, counts. A 365 written into three different files is three
places to change and two places to forget.
5. Does the error handling hide errors?
Look hard at anything that catches an error and continues quietly. Code that swallows a
failure and carries on is how an app ends up doing nothing while looking fine.
An error you can see is a small problem. An error nobody sees is the Module 4 overdue bug
all over again.
6. Do the tests check the requirement, or just the code?
A test that says “the function returns what the function returns” passes forever and proves
nothing.
Compare each test against your plan. If a test does not correspond to something you decided,
ask why it exists.
7. What changed that you did not ask about?
git status
Files you did not mention. Formatting changes across a file you asked for one line in.
Deleted code. Version changes in package.json.
Run this one first, actually. It is the fastest and it catches the most.
Using the list
You will not run seven checks on a two-line change. Use judgement.
But for anything that touches your rules, handles money or dates, or changes more than one
file, go through all seven. It takes two minutes.
Try this before the next lesson
- Pick your biggest Recall commit. Run all seven checks. Write down what you find.
- Which of the seven do you naturally skip? That is your blind spot.
- Put this list in your project as
REVIEW.md. You will use it in Module 6.