Linting — это автоматический процесс форматирования кода в соответствии с правилами и лучшими практиками (best practices). Например, для Python часто используется стиль
PEP8. Для проверки написания кода можно применять библиотеки
flake8 и
black, которые выполняют эту задачу автоматически. Желательно, чтобы в команде было соглашение по стандартам. Всё это можно настроить через
pre-commit и
continuous integration.
Когда речь заходит о SQL, ситуация гораздо сложнее. Чаще всего никаких стандартов и инструментов не используется. Однако самый популярный линтер для SQL — это
sqlfluff. Он отлично работает с популярными облачными хранилищами данных и dbt.
Недавно я узнал о
линтере на Rust под названием SDF Lint. Утверждается, что он в 1000 раз быстрее. Сам я его ещё не тестировал, так как меня устраивает sqlfluff — торопиться некуда.
Линтеров, конечно, гораздо больше. Например, на
сайте представлен целый список. Их много не надо, нужен работающий.
А вы что-нибудь используете?