Article 3: Code Quality Tools
Introduction
The Quality Toolchain
Tool
Purpose
Speed
Configuration
Ruff: Modern Python Linter
Why Ruff?
# Install Ruff
pip install ruff
# Run linter
ruff check .
# Fix auto-fixable issues
ruff check --fix .
# Format code (like Black)
ruff format .Configuration
Common Ruff Rules
Running Ruff
Black: The Uncompromising Formatter
Philosophy
Configuration
Black Formatting Examples
Magic Trailing Comma
mypy: Static Type Checking
Why Type Hints?
Basic Type Hints
Type Hints in Functions
Configuration
Running mypy
Common mypy Errors and Fixes
Advanced Type Patterns
Integrating All Tools
Combined Configuration
Quality Check Script
Makefile Integration
Pre-commit Integration
VS Code Integration
Practical Exercise
Exercise 1: Fix Code Quality Issues
Exercise 2: Add Type Hints to Existing Code
Exercise 3: Configure Tools for a Project
Quality Tools Comparison
Aspect
Ruff
Black
mypy
Key Takeaways
What's Next?
Last updated