Проверяет знание основных инструментов статического анализа и форматирования Python-кода.
Ruff — быстрый линтер, Black — автоформатировщик, isort — сортировщик импортов, mypy и pyright — статические анализаторы типов. Эти инструменты помогают поддерживать единый стиль и находить ошибки ещё до выполнения программы.
Качество кода — ключевой аспект разработки, и инструменты статического анализа позволяют выявлять проблемы заранее.
Ruff — ультрабыстрый линтер на Rust.
Проверяет стиль, потенциальные ошибки, дублирование.
Поддерживает правила flake8, pylint и многих плагинов.
Очень быстрый — подходит для CI.
python
ruff check .
Black — строгий автоформатировщик, называемый "непреклонным".
Жёстко определённый стиль.
Упрощает код-ревью: не нужно спорить о стиле.
Форматирует весь код автоматически.
python
black src/
isort отвечает за автоматическую сортировку импортов.
Группирует по стандартам: stdlib, third-party, local.
Устраняет хаос в импортах.
python
isort .
mypy — статический анализатор типов.
Проверяет аннотации типов.
Позволяет находить ошибки ещё до выполнения.
Часто используется в больших проектах.
python
mypy src/
Pyright — альтернативный быстрый анализатор типов, написанный Microsoft.
Глубокий анализ.
Быстрее mypy на крупных проектах.
Встроен в VS Code как Pylance.
python
pyright
Комбинация Ruff + Black + isort + mypy/pyright обеспечивает высокое качество кода и упрощает соблюдение стандартов.