Сравнение на инструментите за JavaScript Linting
Linting е процес на стартиране на програма, която ще анализира кода за потенциални грешки или идентифициране на лоши практики за кодиране. Тук представям кратко сравнение на 3 най-широко използвани JavaScript linting библиотеки, специално при използване с React.
JS Линт
JS Lint е един от най-старите налични инструменти за линтинг на JavaScript.
Професионалисти
- Той идва предварително конфигуриран и е готов за работа
минуси
- Не може да се конфигурира от потребителя
- Не е разширяем — не можем да добавяме персонализирани правила
- Не е много добра документация
- Трудно е да се идентифицира правилото, което е неуспешно
- Няма поддръжка за ES6 или React
JS съвет
JS Hint е наследник на JS Lint.
Професионалисти
- Има много добра подкрепа от общността
- Конфигурируеми — можем лесно да конфигурираме, активираме/деактивираме правила
- Има поддръжка за много библиотеки извън кутията, като jQuery, QUnit, NodeJS, Mocha
- Поддържа основен ES6
минуси
- Трудно е да се разбере кое правило се проваля
- Не е разширяем — не можем да създаваме персонализирани правила
- Не поддържа React
ES Линт
ESLint е напълно плъгин, всяко едно правило е плъгин и можем да добавяме още правила по време на изпълнение. Тя е най-новата от трите библиотеки. Той е проектиран да бъде лесно разширяем, идва с голям брой персонализирани правила и е лесно да инсталирате повече правила под формата на добавки. Той дава кратък изход и също така включва името на правилото по подразбиране, така че винаги да знаете кои правила причиняват съобщенията за грешка.
Професионалисти
- Напълно конфигурируеми — можем да конфигурираме/активираме/деактивираме всяко правило
- Разширяем – Можем да създадем свои собствени правила
- Има богат набор от съществуващи правила според най-добрите практики
- Напълно поддържа ES6 и React
- Лесен за разбиране изход с имена на правила
- Правилата са много добре документирани с примери
- Конфигуриран чрез конфигурационен файл (json/yaml/js) — Лесно споделяне на конфигурация между членовете на екипа
- Лесна интеграция с IDE
минуси
- Необходима е първоначална конфигурация, за да започнете
- Малко бавно
Заключение
Имайки предвид горните фактори, ESLint изглежда е най-добрата налична опция при работа с ES6 и React.
Ще се радвам да чуя вашите коментари, предложения, въпроси или вашия опит в работата с някой от инструментите за linting на JavaScript.