Студия разработки сайтов и приложений

Netspark.ru

Платформа для ботов в Telegram

Ботопотамы

Экономичные паттерны разработки

В продолжение предыдущего поста — да, было бы здорово, конечно. Но где бы тогда я находил вот такие экономичные паттерны разработки:

Экономим 2 килобайта

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

Экономим две минуты

Допустим у тебя есть модуль или плагин, который больше не нужен. Но в то же время есть задача в трекере, совершенно с модулем не связанная, но для неё нужно написать немного кода. Правильный порядок действий:

  1. Сотри всё что происходило в ненужном больше модуле.
  2. Вставь туда новый функционал.
  3. Описание и название модуля не меняй. Все равно никто не читает.

Экономим… что-то экономим

Определенно, это жемчужина моей небольшой и беспорядочной коллекции. Нам нужно аяксифицировать кнопочки в Drupal. Чтобы события не навешивались повторно, используется once(), который добавляет элементу атрибут data-once="ajax". Но чтобы враги ничего не поняли, сделаем так:

  1. Кнопочки будем рендерить сразу с атрибутом data-once="ajax"!
  2. В коде JS первым делом удалим этот атрибут!!
  3. Скрестим пальцы и вознадеемся на правильный порядок исполнения и что вызов ajax-биндинга произойдет позже и не заметит удаленных атрибутов!!!

Возможно, таким образом пытались победить какие-то «гонки» в JS. Ведь, как известно, чтобы победить racing condition, нужно самому стать racing condition.

Обсуждение

Чтобы обсудить заметку, написать комментарий, или просто связаться, заходите в Телеграм-канал. У нас весело и всем рады!

Также меня можно найти в Хвиттере, VC.ru, Дзене, или Тенчате.