- PVSM.RU - https://www.pvsm.ru -

FuckItJS: принудительное исполнение JavaScript-кода

Американский веб-разработчик Мэтт Даймонд (Matt Diamond) написал плагин JavaScript под названием FuckItJS [1]. Если вставить в код метод FuckIt, то он заставит исполняться самый плохой скрипт, «нравится это компилятору или нет».

В общем, FuckItJS работает так: из скрипта вырезаются все строчки, на которые выскочили ошибки. Затем процесс повторяется заново, пока скрипт (или что там от него осталось) не проходит компиляцию без ошибок. Чтобы выжить в этом жестоком мире, FuckItJS перезагружается после каждой итерации.

FuckIt(путь_к_файлу)
Стандартный метод со ссылкой на дерьмовый скрипт. Можно использовать в коде несколько раз.

FuckIt.noConflict()
«Вы используете две библиотеки FuckIt? — спрашивает автор. — Хрен с ним, но тогда запускайте метод FuckIt.NoConflict. Конечно, на самом деле это не поможет, ведь FuckItJS постоянно перезагружается и непрерывно обновляет глобальную переменную FuckIt, но блин… хотя бы почувствуешь, что сделал нечто умное».

FuckIt.moreConflict()
«Устал прятаться от конфликтов? Готов перезаписать все до единого свойства в глобальном объекте Window, даже если это обрушит браузер? Тогда этот метод для тебя», — говорит Мэтт Даймонд.

Автор реально не знает, что написать в обязательном поле “Browser Compatibility”, да и вообще шутит на странице проекта по полной программе. Коммиты там тоже смешные, в общем, страничка юмора на Гитхабе.

Шутка Даймонда пришлась по вкусу веб-разработчикам: см. модуль интеграции FuckItJS для Drupal [2].

Мэтт Даймонд уверен, что написал «самый худший плагин в истории Javascript», но на самом деле похожий принцип обхода ошибок используется при написании программ, устойчивых к отказу оборудования [3], очень перспективное направление, без шуток.

Автор: alizar


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/10533

Ссылки в тексте:

[1] FuckItJS: https://github.com/mattdiamond/fuckitjs/

[2] модуль интеграции FuckItJS для Drupal: http://drupal.org/project/fuckitjs

[3] программ, устойчивых к отказу оборудования: http://en.wikipedia.org/wiki/Failure-oblivious_computing