Pull to refresh

Comments 5

Наличие такой концепции как warning: зачем?

Добавляю я новое правило в приложение (не использовать deprecated API), eslinter пишет о >100 ошибках. Для исправления нужно переписывать логику, на что сейчас времени нет. Помечаю как warning для того чтобы коллеги не создавали новых ошибок. +если я буду редактировать файл/метод — увижу что нужно порефакторить код.

Плюсы в этом подходе безусловно есть, однако у Putout подход диаметрально противоположный: вместо того, что бы закидывать 100 сообщений (которые разработчики очень быстро перестанут читать, захлебнувшись в потоке информации, ибо слишком много информации = 0 информации), берет и исправляет то что нашел, либо не исправляет и молчит :).


Еще есть возможность написать кодмод, который будет в автоматизированном режиме править deprecated методы, гораздо более простым способом, чем делая это с помощью ESLint. Такой подход, например, применяется для правил Putout, с помощью плагина @putout/plugin-putout.


Идея в сдвиге парадигмы: вместо того, что бы заставлять человека переделывать код — пишется скрипт, который исправит все места сразу без всяких ворнингов.

Так а разве это всегда возможно? Ну, то есть, некоторые ошибки можно вычислить, но их не просто пофиксить автоматически.

На всех проектах, которых я работал, ворнинги не использовались никогда :). И так получалось, что не имело значения: это фронт на angular/react, бэк на node.js, либо больше 200-та npm-пакетов. Правило либо исправляется, либо отключается до лучших времен — все просто. В статье об этом было сказано для того, что бы показать фундаментальные отличия в философии инструментов.


По-поводу того, что не просто пофиксить автоматически, конечно, не все возможно исправить, для тех моментов, которые исправить нельзя есть code review, и если это действительно важно, то вся команда об этом напомнит.


Однако, если разработчику удобнее с ворнингами и это делает код лучше, а работу продуктивнее — то, пожалуйста, это личный выбор каждого :).


С помощью плагина eslint-plugin-putout возможно использовать ESLint с привычными ворнингами совместо с Putout, который исправить может все, что найдет, при этом показывая только ошибки.

Sign up to leave a comment.

Articles