Вопрос:
С какими инструментами отслеживания и поддержания чистоты кода вы работали?
Как часто спрашивают: Часто
Кто предложил: ALittleMoron
Ответ:
У меня есть опыт в использовании статические анализаторы - pyright, mypy и недавно пробовал ty. Также в своей работе я часто использую линтеры - в основном ruff, но также имею опыт работы с flake8, autopep8 и pylint. Помимо этого я использую средства форматирования кода - тоже в основном ruff, но имеется опыт работы и с black. Средства сортировки импортов - isort, ruff - тоже использую активно.
В целом, стараюсь использовать все возможные quality gate утилиты, чтобы писать максимально чистый и понятный код.
Объяснение ответа на собеседовании:
По сути, отвечать на данный вопрос нужно, имея полное представление о всех Quality Gate утилитах, которые только есть в Python.
Большим плюсом будет, если вы назовете все из них, и наиболее популярные из них. Также плюсом будет назвать альтернативы, потому что в разных проектах у разных компаний используются разные утилиты. Где-то может использоваться ruff только как линтер, где-то он может использоваться полностью, как линтер, сортировщик и форматор.
Помимо этого вопрос важен, так как сейчас редко встретишь проект без всех этих инструментов.
Внешние ресурсы:
- Building a Robust CI Quality Gate: Enforcing Code Quality with flake8, mypy, pytest, and Coverage Checks
Хорошее объяснение, зачем нужны quality gates в целом на примерах