Web-стандарты или как с ними бороться
Во время человеческой деятельности появляются разные стандарты. Интернет не стал исключением.
Рассмотрим конкретный пример html-верстки. Грамотно и правильно оформленный код дает не только красивый листинг, но и правильное отображение сайта в разных браузерах.
Но так ли важно бесприкословное подчинение всем web-стандартам? Безусловно, следовать им необходимо, но разовое нарушение или несоответствие не должно приниматься в штыки.
Для примера возьмем сайт Google () откроем валидатор () и проверим код страницы. 48 ошибок – комментарии излишни.
Как уже было сказано ранее, допускать «детские» ошибки в коде считается недопустимым, однако погрешности и легкие пренебрежения стандартами имеют место быть.
Хочу учесть Ваше внимание что понятия «не валидный» и «неправильный» являются совершенно разными по смыслу: в первом случае мы едем в объезд, но зато по ровной дороге, во втором – нарушаем все, что только можно и падаем в обрыв.
Теперь рассмотрим само оформление html-кода. Допустим, у меня на сайте сложная верстка: в ячейках таблицы находятся такие же таблицы. По правилам оформления все html-теги должны быть либо только в верхнем, либо в нижнем регистре.
Вот теперь представьте следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <table>
<tr>
<td>
<table>
<tr>
<td>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td>
</td>
</tr>
</table>
</td>
</tr>
</table> |
А теперь представьте, что эти ячейки не пустые и содержат другие теги: текст, формы и т.д. Это оформление хорошо тем, что мы видим все дочерние теги и что к чему относится, однако здесь не видно логики самой верстки. Глазу трудно отделить дочерний «table» от родительского. Поэтому, вопреки хваленым стандартам оформления, считаю нужным написать родительские теги «table», «tr» и «td» в верхнем регистре:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <TABLE>
<TR>
<TD>
<table>
<tr>
<td>
</td>
</tr>
</table>
</TD>
</TR>
<TR>
<TD>
<table>
<tr>
<td>
</td>
</tr>
</table>
</TD>
</TR>
</TABLE> |
Теперь все понятно, что из чего вытекает. Такой же пример можно привести и из учебников с главами про «правильное» оформление php-кода. Некоторые «знатоки» с пеной у рта доказывают, что каждая первая кавычка после условия или тела цикла должна стоять на одной с ним строчке:
1 2 3 4 5 | <?php for($i=1;$i<=$n:$i++) { $a++ } ?> |
А теперь представьте такой пример кода с десятикратной вложенностью и с кучей условных операторов:
1 2 3 4 5 6 7 8 9 10 11 | <?php for($i=1;$i<=$n:$i++) { $a++ if(($somebody)) { $b++ } else { $b--; } } ?> |
При долгом созерцании такого кода с реальными переменными и операторами есть шанс впасть в эпилепсию, хотя этого и можно было избежать просто расставив кавычки друг под другом (заметим, что умные редакторы еще и протягивают линии вдоль таких кавычек, прибавляющие экспириенс к читаемости):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?php for($i=1;$i<=$n:$i++) { $a++ if(($somebody)) { $b++ } else { $b--; } } ?> |
Вообще про оформление любого (и не только html) кода можно сказать многое. Например, соблюдение всех норм оформления во вред себе и своему зрению считаю старперским занудством.
Похожие записи:
Рубрики: Статьи · Теги: html, php, код, стандарты
