Добавить в корзинуПозвонить
Найти в Дзене

Pre-commit хуки: автоматические проверки до коммита

Код-ревью часто превращается в обсуждение форматирования, отступов и забытых отладочных принтов. Это отвлекает от реальных проблем - архитектуры и логики работы. Pre-commit хуки запускают проверки автоматически и не дают создать коммит, если код не соответствует стандартам. ➤ Вариант 1 (Базовый конфиг для Python): автоматическое приведение кода к единому стилю. # .pre-commit-config.yaml repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.4.0 hooks: - id: trailing-whitespace # Удаляет пробелы в концах строк - id: end-of-file-fixer # Добавляет перевод строки в конце файла - repo: https://github.com/psf/black rev: 23.1.0 hooks: - id: black # Форматирует код ➤ Вариант 2 (Проверка секретов): блокировка коммита с потенциальными ключами доступа. - repo: https://github.com/Yelp/detect-secrets rev: v1.4.0 hooks: - id: detect-secrets После настройки хуков код в репозитории всегда проходит базовые проверки. Это снижает нагрузку на ревьюверов. Есть л

Pre-commit хуки: автоматические проверки до коммита

Код-ревью часто превращается в обсуждение форматирования, отступов и забытых отладочных принтов. Это отвлекает от реальных проблем - архитектуры и логики работы.

Pre-commit хуки запускают проверки автоматически и не дают создать коммит, если код не соответствует стандартам.

➤ Вариант 1 (Базовый конфиг для Python): автоматическое приведение кода к единому стилю.

# .pre-commit-config.yaml

repos:

- repo: https://github.com/pre-commit/pre-commit-hooks

rev: v4.4.0

hooks:

- id: trailing-whitespace # Удаляет пробелы в концах строк

- id: end-of-file-fixer # Добавляет перевод строки в конце файла

- repo: https://github.com/psf/black

rev: 23.1.0

hooks:

- id: black # Форматирует код

➤ Вариант 2 (Проверка секретов): блокировка коммита с потенциальными ключами доступа.

- repo: https://github.com/Yelp/detect-secrets

rev: v1.4.0

hooks:

- id: detect-secrets

После настройки хуков код в репозитории всегда проходит базовые проверки. Это снижает нагрузку на ревьюверов.

Есть ли у вас в проекте автоматические проверки перед коммитом?

P.S. Конфигурация pre-commit хранится в репозитории, поэтому все разработчики в команде используют одинаковые проверки.

👉🏻 Я в Telegram - https://dzen.ru/id/686102a27e39653c3429f77f

👉🏻 Я в VK - vk.com/helcode

👉🏻 Я на Boosty - boosty.to/helcode