Ship Checklist & Where This Leaves You
beginner12 min readLesson 56 of 169
Every line true before you call it done — and the sentence it makes true about you.
Ship checklist
Before you call it done, every line below should be true:
- [ ]
add_expenserejectsamount <= 0and empty category — with messages. - [ ] Input lists are never mutated; the CLI state flows through return values.
- [ ]
expenses.jsonroundtrips; a corrupt file costs you nothing but a fresh start. - [ ]
finance_summaryincludes total, count, per-category totals (rounded), top category (first-to-reach tie-break), remaining budget, and a warning key set when spending > 90% of budget. - [ ] Your own test suite passes; it includes at least one boundary case and one corrupt-file case.
- [ ] README explains how to run it; venv + requirements.txt discipline shown.
- [ ] Git history tells the story: small commits, messages that say why.
Where this leaves you
You can now take a written requirement, design a data model, implement it in layers that each have one job, persist it, test it, and ship it. That is the sentence "I can build small useful Python programs independently" — made true. Python Intermediate will assume all of it, and add: classes, iterators, comprehensions in depth, files beyond JSON, and real testing frameworks.