Retour au cours

style pep 8 et outils : formatage auto, linting (black, ruff/flake8)

un style uniforme rend le code lisible et réduit les diffs inutiles.

objectifs

  • formater avec black
  • linter avec ruff (ou flake8)
  • intégrer à l’éditeur (format on save)

explication détaillée

  • black reformate tout selon PEP 8
  • ruff détecte variables inutiles, imports morts, etc.
  • configuration minimale via .ruff.toml et pyproject.toml

exemples exécutables

pip install black ruff
black src/
ruff check src/
# .ruff.toml minimal
line-length = 100
select = ["E","F","W","I"]
# pyproject.toml (extrait pour black)
[tool.black]
line-length = 100
target-version = ["py311"]

bonnes pratiques

  • activer format on save dans l’éditeur
  • corriger les erreurs bloquantes du linter, documenter les exceptions
  • éviter d’avoir plusieurs formatteurs en concurrence

pièges courants

  • ignorer systématiquement le linter
  • config contradictoire entre outils
  • confondre style (automatisable) et conception (réflexion)

exercices

  1. formater un dossier src/ puis corriger les alertes ruff.
  2. ajouter import sorting (ruff isort).
  3. intégrer black et ruff en pre-commit plus tard (bonus).