Речи Стоянова

JavaScript изучая,
Руны нашёл
В пучине сети,
Интернета древнее.

Их резал Стефан
Стояновым прозванный,
Викинг из Винланда,
В землях конунга Yahoo.

Руны мудры,
Просто читались,
Код мой расцвёл
От волшебных заклятий.

Речи Стефоана
Я изложу
В песни манере,
Чтоб кода заклятья
Юный муж осознал.

Переменных глобальных
Ты не используй,
Можешь разрушить
Кода ход плавный.
Могут другие
Резь свою вставить
В скрипт
И руны похерить.

Все переменные
Вверх подними
Функции каждой.
var единый используй.
Тона хорошего
Правило это.

В условиях цикла
Ты не используй
Счетчик массива,
Переменной присвой его,
Код станет быстрым.

Границу у цикла
Можно отбросить
Лишь декремент вставив,
Для цикла с массивом.

Массив обходя,
for in не используй
Для элементов.
Только для property
Он предназначен.

Вдоль массива идя,
Элементы считая,
Добрей цикла for
Ничего не найдёшь ты.

Property в коде
Ты отдели
От прототипа
Хитрым заклятьем.
Лишних значений
При переборе
Тогда ты избегнешь.
Аса великого имя —
hasOwnProperty().

Break руны режь
В конце каждой ветви,
В case нижний падать
Привычка плохая.

Явно тип приводи
В любых исчислениях.
Руны === и !==
Ты используй,
Вместо слабых заклятий
== и !=

Eval() вырезая,
Йотунам дорогу
В Мидланд ты откроешь.
Бей и коли, жги и руби,
Тех, кто тайно в ночи
Eval() на камнях вырезает.

parseInt() вызывая,
Ты руны дополни
Системой счисленья.
Аргументом вторым
Ему десять исполни.

Ты код оформляй
Единым манером.
Отступы ставь
Внутри скобок фигурных.

В скобы фигурные
Резь загоняй ты.
Делай всегда так,
Даже когда
Без того всё неплохо.

Конструктор объекта
Ты начинай
Литералом заглавным.
Чтоб все сразу видели —
Это конструктор.

В функции имени
Слог выделяй
Верблюжьим манером.
Переменную же
Строчной руной
И прочерком длинным.

Константу задумав,
Все литералы
Заглавными режь ты.
Слова отсекай
Прочерком длинным.

Код комментируй,
Чрез годы вернёшься
И сразу поймёшь
Мысли теченье.

Строфы сжимай
При выдаче кода
В продакшн.
Незачем людям
Видеть комменты, пробелы.

ESLint-ом проверь
Резаных строф толкованье.
Он лишнее чистит
И от срамоты защищает.

Объект создавай
Всегда литералом.
Зазорного нет,
Что символов меньше
Нарежешь.

Общие члены объектов
Отдай прототипу.
И скорость получишь,
И память не будет кончаться.

Конструктор всегда
Объект возвращать предназначен.
Тебя проклянут,
Коль выведет руны другие.

New не забудь,
Вырезая конструктор.
Иначе глобальный объект
Тебя ждёт в результате.

Чтоб непременно
Конструктором функция вышла,
Новые члены к that
Ты привязывай ссылке.
И явно retun эту ссылку наружу.

Чтоб непременно
Конструктором функция вышла,
This ты проверь,
Будет ли он
Объекта сего экземпляром.

Массивы ты режь
Всегда литералом.
Объекта создание здесь —
Умысел умалишённых.

Объектно массив ты
Проверить не думай.
Режь isArray
Переменной на каждой
Излучине кода.

Функция — это объект,
Который приходит по зову.
Все свойства объекта
Присущи ему и поныне.

Обратного вызова функции
В параметры
Режь ты без скобок.
Скобки немедлено
Функцию эту исполнят.

Коллбэки используй,
Считая ветвление
Древа святого.
Игдрассиль ему имя,
На западе DOM его кличут.

Функция кода
Может сама назначаться.
Себя изменить
И кода теченье ускорить.

Чтоб без имени функцию
Тотчас же вызвать,
Скобки поставь
Ты слева и справа.

Древа святого
Ветви считая,
В цикле ты их не используй.
Локальный отросток создай.

На DOM-древе святом
Листья ты не расти.
К ветви всё разом приклей,
А ветвь уже к древу,
И код станет быстрым
И память свободной.

Событий onclik
Ты не используй.
Пошли слухача —
Быстрей всё узнаешь.

Сильный длинный поток
Окно не осилит.
Ставь интервалы,
Чтоб DOM твой не смыло.

Браузер твой —
Двужильный работник.
Пусть worker работает,
Скрипт отдыхает.

Нужно простую
Депешу отправить?
Используй iFrame,
А AJAX сунь в погреб,
Зимой пригодится.

Загружая скрипты,
Весь DOM не блокируй.
Сверни их в комок,
В зад их засунь
И зови асинхронно.

P.S. Для тех, кто не узнал — это подражание «Речам Высокого», самой известной поэмы «Старшей Эдды» (Hávamál), частей с наставлениями Gestaþáttr и Loddfáfnismál древнескандинавского Королевского Кодекса. Интересное чтиво, рекомендую, как и Стоянова.

https://youtu.be/zT2JkYwBQc4

Добавить комментарийОтменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.