Python Code Review
Quick Reference
| Issue Type | Reference | |------------|-----------| | Missing/wrong type hints, Any usage | references/type-safety.md | | Blocking calls in async, missing await | references/async-patterns.md | | Bare except, missing context, logging | references/error-handling.md | | Mutable defaults, print statements | references/common-mistakes.md |
Review Checklist
- [ ] Type hints on all function parameters and return types
- [ ] No
Anyunless necessary (with comment explaining why) - [ ] Proper
T | Nonesyntax (Python 3.10+) - [ ] No blocking calls (
time.sleep,requests) in async functions - [ ] Proper
awaiton all coroutines - [ ] No bare
except:clauses - [ ] Specific exception types with context
- [ ]
raise ... fromto preserve stack traces - [ ] No mutable default arguments
- [ ] Using
loggernotprint()for output - [ ] f-strings preferred over
.format()or%
When to Load References
- Reviewing function signatures → type-safety.md
- Reviewing
async deffunctions → async-patterns.md - Reviewing try/except blocks → error-handling.md
- General Python review → common-mistakes.md
Review Questions
- Are all function signatures fully typed?
- Are async functions truly non-blocking?
- Do exceptions include meaningful context?
- Are there any mutable default arguments?