Web-стандарты или как с ними бороться

Во время человеческой деятельности появляются разные стандарты. Интернет не стал исключением.

Рассмотрим конкретный пример html-верстки. Грамотно и правильно оформленный код дает не только красивый листинг, но и правильное отображение сайта в разных браузерах.

Но так ли важно бесприкословное подчинение всем web-стандартам? Безусловно, следовать им необходимо, но разовое нарушение или несоответствие не должно приниматься в штыки.

Для примера возьмем сайт Google (http://google.ru) откроем валидатор (http://validator.w3.org) и проверим код страницы. 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(isset($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(isset($somebody))
    {
     $b++
    }
   else
    {
     $b--;
    }
   }
?>

Вообще про оформление любого (и не только html) кода можно сказать многое. Например, соблюдение всех норм оформления во вред себе и своему зрению считаю старперским занудством.

Сохранить в:


  • Google Bookmarks
  • Yandex
  • Twitter
  • Facebook
  • Memori
  • Moemesto
  • BobrDobr
  • News2
  • MisterWong
  • WebDigg
  • del.icio.us

Похожие записи:

Опубликовано 8 июля 2010 в 22:33 · Автор punisher · Ссылка
Рубрики: Статьи · Теги: , , ,

Написать комментарий