Вопрос проверяет понимание роли линтеров и форматтеров в поддержании качества и единообразия кода в команде.
Линтер и форматтер решают две разные, но дополняющие друг друга задачи. Линтер — это инструмент статического анализа, который читает код без его выполнения и ищет потенциальные ошибки: неиспользуемые переменные, забытые await, сравнение через ==, обращение к неопределённым переменным. Форматтер же не ищет ошибок — он просто переписывает код в едином стиле, чтобы все файлы в проекте выглядели одинаково.
// .eslintrc.json
{
"env": { "browser": true, "es2022": true },
"extends": ["eslint:recommended", "plugin:react/recommended"],
"rules": {
"no-unused-vars": "warn",
"eqeqeq": "error",
"no-console": "warn"
}
}// .prettierrc
{
"semi": true,
"singleQuote": true,
"printWidth": 100,
"trailingComma": "all"
}Обычно ESLint и Prettier комбинируют: Prettier отвечает за форматирование, а ESLint — за логические правила. Чтобы они не конфликтовали, подключают eslint-config-prettier, который отключает стилевые правила ESLint.
Итог: линтеры и форматтеры стоит применять в любом проекте, где работает больше одного человека, — они экономят время на ревью, снижают число багов и делают код предсказуемым.