Ответ
Black — это бескомпромиссный (opinionated) автоматический форматер кода для Python. Его главная цель — обеспечить единообразие стиля кода в проекте, минимизируя споры в команде и время на ручное форматирование.
Ключевые особенности и философия
Black сознательно предлагает очень мало настроек. Он форматирует код по своим строгим правилам, которые являются расширением стандарта PEP 8.
- Единый стиль: Устраняет споры о мелких деталях стиля. Если код отформатирован с помощью Black, он считается каноничным.
- Читаемость: Приоритет отдается читаемости кода. Например, длина строки по умолчанию ограничена 88 символами.
- Детерминированность: Применение Black к коду всегда дает один и тот же результат.
- Автоматизация: Экономит время разработчиков, которое раньше тратилось на ручное выравнивание кода.
Пример форматирования
До:
def calculate_price ( base, tax, discount,quantity=1):
total = (base * (1 + tax) - discount) * quantity
return total
После запуска black
:
def calculate_price(base, tax, discount, quantity=1):
total = (base * (1 + tax) - discount) * quantity
return total
Установка и использование
-
Установка:
pip install black
-
Форматирование файла или директории:
black my_script.py black my_project_directory/
-
Проверка без изменения файлов (полезно в CI/CD):
black --check .
Black часто интегрируют в рабочие процессы с помощью pre-commit хуков, чтобы форматирование применялось автоматически перед каждым коммитом.