Разметка исходного кода модулей Drupal

Аккуратная разметка исходного кода модулей Drupal (да и вообще при разработке любой программы) очень важна для понимания структуры и логики функционирования, поиска ошибок при отладке, но часто именно такой код не должен (выражаясь на технической фене) попадать в продакшн. Кто виноват и что делать? Редакция от 10.10.2014.

Создан 08.10.2014 11:02:50

На рисунке ниже изображен чудесный, правильный и совершенно прозрачный для анализа и понимания код шаблона views-view-grid.tpl.php одного из модулей Drupal. Код генерирует заголовок 3-го уровня h3 и таблицу под ним. За счет табуляций и пробелов текст выровнен по левому краю так, что открывающие и закрывающие теги вертикально (визуально) находятся один под другим, что здорово повышает читаемость.

- Исходный код модуля Drupal views-view-grid.tpl.php

Но при этом совершенно очевидно, что сгенерированное содержимое веб-страницы - заголовок и таблица - будут включать в себя лишние пробелы и символы переноса строк. При оптимизации - вытягивании в одну строку - код и сгенерированное им содержимое «похудели» почти на 12%. Вроде бы немного, но если учесть, что подобных шаблонов в Drupal несколько сотен, выигрыш станет весьма ощутимым.

В данном случае все просто и очевидно, поэтому для оптимизации разметки можно воспользоваться приемом, описанным в статье Оптимизация HTML: код в одну строку, только скорректировать настройки Absolute HTML Compressor до необходимого минимума,см. рисунок ниже.

- Настройки Absolute HTML Compressor (минимальные)

А вот в коде разметки, изображенном на рисунке ниже, такой номер не пройдет.

- Плохой комментарий

Синим шрифтом выделен «незакрывающийся» комментарий. Комментарием считается все то, что заключено между двумя лидирующими слэшами и символом возврата каретки - перевода строки. На самом первом рисунке этот символ явно виден в конце каждой строки, на данном же листинге он обозначен сменой номера строки со 149 на 150. При попытке оптимизации с помощью Absolute HTML Compressor символ этот будет удален, в результате чего весь код, расположенный после слова well, «посинеет» и тоже станет комментарием. От этого сайт на Drupal полностью или частично потеряет работоспособность.

Более правильный - явно «закрывающийся» комментарий - изображен на рисунке ниже.

- Хороший комментарий

В любом случае комментарии следует удалять, поскольку предназначены они лишь для разработки и отладки и в продакшн делать им абсолютно нечего - Ржу! (смайл)

Примечание от 10.10.2014 г. - Все это не самое страшное, поскольку поправить код Drupal довольно легко. А нелегко:

  • разыскивать сами модули, код которых подлежит редактированию;
  • переопределять эти модули таким образом, чтобы при очередном обновлении модулей ядра Drupal или дополнительных модулей проделанная ранее работа не пошла насмарку.

Обо всем этом позже.