Best Practices
Linting and Formatting
Automated code quality with ruff, mypy, and formatters
Interview: Code quality tools — expected knowledge
Linting and Formatting
Modern Python tooling automates code quality enforcement. The current recommended stack is Ruff (replaces flake8 + isort + many plugins, 100x faster) and a formatter like Black or Ruff's built-in formatter.
Recommended Stack
- Ruff: Linter + import sorter + formatter (replaces flake8, isort, Black)
- mypy: Static type checker — catches type errors before runtime
- pre-commit: Git hooks that run checks automatically