Форматирование динамически генерируемого HTML - никого не волнует? - PullRequest
11 голосов
/ 14 октября 2010

У меня очень небольшой опыт веб-разработки, так что это может быть очень простой вопрос.

Просто из ограниченного опыта, который у меня есть (немного PHP и немного Ruby on Rails) кажется, что способ динамически генерируемого HTML отформатирован просто "не имеет значения";все заканчивается безобразно, со странными отступами, и никого не волнует, потому что это не то, что пользователи видят.

Если, конечно, пользователь не является разработчиком или даже просто кем-то, ктолюбопытно взглянуть на небольшой HTML, чтобы попытаться чему-то научиться.

Может быть, вы не понимаете, о чем я говорю;поэтому позвольте мне привести пример.

В файле Ruby у меня может быть такой код:

<h1>Heading</h1>

<div>
    <%= render :partial => '/layouts/body' %>
</div>

Затем в моем файле "/layouts/_body.html.erb"Я мог бы иметь это:

<p>Here is some content!</p>

<ul>
    <li>List item 1</li>
    <li>List item 2</li>
    <li>List item 3</li>
</ul>

Когда все это будет обработано, все будет хорошо выглядеть.Но если пользователь попытается просмотреть исходный код, HTML будет выглядеть довольно глупо:

    <h1>Heading</h1>

    <div>
        <p>Here is some content!</p>

<ul>
    <li>List item 1</li>
    <li>List item 2</li>
    <li>List item 3</li>
</ul>

    </div>

Очевидно, это не имеет большого значения.И я могу полностью понять, является ли преобладающее мнение просто «Это не имеет значения».Но так ли это должно быть?Разве читаемость HTML не имеет значения для кого-либо?

Мне просто любопытно узнать, достаточно ли этого кто-нибудь беспокоит, когда он / она найдет «решение» для этого (очевидно, чтобыть тем, кто рассматривал это как «проблему» в первую очередь).

Ответы [ 13 ]

3 голосов
/ 14 октября 2010

Семантически правильный проверенный HTML важен;очень важно.Несколько пробелов и разрывов строк не важны - любой приличный форматер может легко решить эту проблему.Большую часть времени ничто, кроме браузера, не будет его просматривать, так что на самом деле это не так важно по сравнению с проверкой.

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

2 голосов
/ 14 октября 2010

Шаблонизатор HAML был специально создан с целью создания HTML-кода с соответствующим отступом, вложенностью и форматированием.Нет причин, по которым другие шаблонные движки не могли бы сделать то же самое.

Так что да, это просто лень.

2 голосов
/ 14 октября 2010

Нравится вам это или нет, HTML - это читаемый браузером формат , не обязательно читаемый пользователем.Инструменты (WYSIWIG-редакторы, языки разметки, такие как Markdown, MediaWiki и т. Д. И ваш любимый веб-фреймворк ) должны использоваться для создания HTML.Множество программ доступны, чтобы сделать HTML читабельным для разработчиков;см. другие посты.

Инструменты генерирования XHTML и XML имеют определенные обещания в отношении читабельности, поскольку их выходные данные могут быть легче обработаны (например, с помощью исходного кода браузера) для получения правильного отступа, но (ИМХО) пока не совсем зрелые, судя по количеству так называемых "W3C XHTML-совместимых" сайтов, которых на самом деле нет.Более новые версии, например WordPress, прилагают усилия, но их расширения, плагины и т. Д. Полны плохого (X) HTML, даже не принимая во внимание количество создаваемого ими JavaScript.(Как мы собираемся сделать отступ?)

Совет на данный момент:

  1. (X) HTML-генерирующий код должен быть читабельным для разработчиков .Но, пожалуйста, используйте тот, который по крайней мере генерирует что-то квазичитабельное.
  2. Изучите функцию браузера search и используйте регулярные выражения.
  3. HTMLTidy , вего много обликов, твой друг.Используйте его в тестах и ​​сравните его вход с выходом
2 голосов
/ 14 октября 2010

Хорошо, если вы сделаете дополнительный проход над файлом, чтобы украсить его перед отправкой пользователю, вы:

  1. Увеличьте размер файла (медленнее загружать) и, таким образом, дайте своим пользователям ощущение, что ваш сайт "запаздывает" и работает медленно (и это так)

  2. увеличивает нагрузку на ваш сервер, возможно, увеличивает его и замедляет еще больше

Помимо помощи одному или двум парням, которые читают исходный код (который можно автоматически украсить в большинстве редакторов), что вы надеетесь сделать с этим, чтобы оно того стоило?

1 голос
/ 14 октября 2010

Это может раздражать, когда я пытаюсь посмотреть на источник, чтобы увидеть, где может отсутствовать div или стиль. Я всегда пытаюсь сгенерировать любой html-файл с достойной версткой, потому что 9/10 я буду искать ошибки.

Так что, с моей точки зрения, это имеет значение, даже если это не приоритет номер один, он должен стать приоритетом 2 или, по крайней мере, 3, на мой взгляд, конечно.

В настоящее время, как разработчик C #, я обычно копирую исходный код в Visual Studio и выполняю ctrl + k + f, чтобы сделать отступ для кода, чтобы его было легче увидеть.

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

1 голос
/ 14 октября 2010

Преобладающее мнение - «это не имеет значения», потому что, если вы действительно хотите просмотреть его, есть много доступных форматеров и далее, что использование автоматического форматера является пустой тратой системных ресурсов.

ДляСценарии, где это происходит, вы можете рассмотреть:

  • Выбор языка, который облегчает выполнение
  • Определение стандартов кодирования
  • Использование чего-то вроде HTMLTidy, либо для принудительного применениястандарты кодирования или даже для автоматического форматирования HTML
1 голос
/ 14 октября 2010

Для просмотра отформатированного html, который немного лучше, вы можете использовать функцию «Проверка элемента» в Google Chrome или надстройку firebug в Firefox. Я постоянно работаю с динамически генерируемым html (используя php) и никогда не использую «просмотр исходного кода страницы», эти другие инструменты работают намного лучше.

1 голос
/ 14 октября 2010

В прошлом меня это беспокоило, но я также думаю, что создание его нечитабельным имеет свои преимущества.Это полуобфускированный код по доверенности.

Однако многие инструменты (такие как FireBug) будут красиво форматировать код в структуре DOM, поэтому для разработчика это тоже не имеет большого значения.

1 голос
/ 14 октября 2010

Мне действительно все равно, потому что, если я хочу посмотреть на красиво отформатированный HTML, я могу просто запустить его, хотя TIDY , прежде чем я посмотрю на него.

0 голосов
/ 14 октября 2010

Важной частью является то, что код, генерирующий HTML, является аккуратным и читабельным. Как и в вашем примере, любые вызовы функций, включения и т. Д. Должны быть в правильном отступе с остальной частью кода.

Кроме того, это не имеет значения, если код правильно сформирован и является допустимым XHTML. Спецификация XHTML не определяет пробелы, но определяет правильные закрывающие теги и т. Д.

Обычно, если выходной код проверяется и код на стороне сервера читается, все хорошо. (Если, конечно, ваше приложение также работает.)

...