В продолжение предыдущего поста — да, было бы здорово, конечно. Но где бы тогда я находил вот такие экономичные паттерны разработки:
Экономим 2 килобайта
Если во фронт-энде нужна иконка, и она уже есть в каком-то из установленных модулей, плагинов, библиотек, или иных зависимостей — не нужно копировать иконку в свой фронт. Нужно использовать ту, что в библиотеке. Не важно, что разработчик библиотеки её может заменить, удалить, или вся зависимость окажется больше не нужна. Просто никогда ничего не обновляйте, и тогда иконка пребудет веки.
Экономим две минуты
Допустим у тебя есть модуль или плагин, который больше не нужен. Но в то же время есть задача в трекере, совершенно с модулем не связанная, но для неё нужно написать немного кода. Правильный порядок действий:
- Сотри всё что происходило в ненужном больше модуле.
- Вставь туда новый функционал.
- Описание и название модуля не меняй. Все равно никто не читает.
Экономим… что-то экономим
Определенно, это жемчужина моей небольшой и беспорядочной коллекции.
Нам нужно аяксифицировать кнопочки в Drupal. Чтобы события не навешивались повторно, используется once()
, который добавляет элементу атрибут data-once="ajax"
. Но чтобы враги ничего не поняли, сделаем так:
- Кнопочки будем рендерить сразу с атрибутом
data-once="ajax"
! - В коде JS первым делом удалим этот атрибут!!
- Скрестим пальцы и вознадеемся на правильный порядок исполнения и что вызов ajax-биндинга произойдет позже и не заметит удаленных атрибутов!!!
Возможно, таким образом пытались победить какие-то «гонки» в JS. Ведь, как известно, чтобы победить racing condition, нужно самому стать racing condition.