Profile

coolwolf0: (Default)
coolwolf0

May 2026

S M T W T F S
      12
3456789
101112 13 1415 16
17 1819 20 212223
24252627282930
31      

Custom Text

После очередного совета железного дровосека в лице Джемини, у меня в коде завелись баги. Случайно глянул в консоль, а там - кровавые потёки ошибок: переменная использована без объявления! Вот что бывает, когда копипастят всякую ии-шную фигню без минимального ревью.

Короче, решил я наконец-то озаботиться линтером. Чтобы и неиспользованные объекты в namespace не болтались, и опечатки в именах исключить (а этим мы, людишки, грешим), ну и от более серьёзных факапов тоже защититься. Сказано - сделано. Поставил себе через npm линтер:

npm init -y
npm init @eslint/config@latest


Он меня немного поспрашивал, мол на каком языке будем чиститься, используются ли библиотеки, всякие тайпскрипты и прочие детали. Я тут же сходу начал забрасывать невод и получать неслабый такой "улов". Первым делом выяснилось, что приличные люди уже давно так JS не инклюдят. Пришлось накатать на Пайтоне обработчик HTML, который извлекает по порядку все ссылки на скрипты и делает из них одну большую простыню для линтера. Ошибок стало немного меньше, но остались вызовы функций, которые существуют только как коллбеки в самом HTML. Деваться некуда, добавил их в парсер, с магическим присвоением в window - так линтер считает функцию использованной. И вот после этого стали очевидными настоящие ошибки: опечаточки в имени переменной (не сработало ни разу в какой-то ветке логики, но лучше исправить), потерянные переменные без использования, неудачно расположенные функции, даже непонятно как проскочивший BOM-код в начале файла!

Ну и раз уж я дошёл до полного устранения всех очевидных багов в коде, то тут же вписал эту проверку в git hooks. Теперь перед коммитом линтер обнюхивает код на предмет очевидных ляпов и не позволит (в случае чего) послать такое в репозиторий. Уга, товагищи! Да здгавствует автоматизация! Между прочим, оказалось, что git - тот ещё "жук". Он не надеется на милости от Винды, поэтому автоматом ставит в систему свой баш-интерпретатор. Естественно, не потому что он агрессивный фанат Линукса, просто так можно поддерживать однородный код hooks на всех платформах. Ну действительно, раз я могу запустить в Винде git difftool, то чем hooks хуже?
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Expand Cut Tags

No cut tags

Style Credit