Как стать автором
Обновить

Комментарии 36

Вот пусть теперь ликуют сторонники валидности :)

Мне лично всё равно, будет "Хабра" валидна или нет. У меня в браузере она работает корректно и еже с ними. Я счастлив :)
У меня тоже корректно работает, Опера 9 :)
Но я за валидность, особенно за strict - не знаю чем это объяснить и как аргументировать в случае с Харом, но мне валидная вёрстка почему-то оооооооочень нравится :)
Да, от валидной верстки на душе становится тепло и приятно :)
.. и не только разработчику ;)
Лично я никогда не ставил валидность кода во главу угла!
Низнаю почему, я сначала определяюсь со своим мнением (одно из двух: "пойдет", "не пойдет")!
А потом валидность сама собой проверяется в процессе настройки под разные браузеры!
Валидность — это не главный показатель качественно сделанного сайта. [читать]

Но один из показателей, говорящий, что сайт не слеплен на быструю руку, а проектировался и вдумчиво собирался верстальщиком, а не визивигом или самоучкой php-программером. Это со стороны.

А если говорить о процессе разработки, то валидный код — это правильно работающий код. Т.е. нет сомнений, что внутри alt'ов нет тегов, что все параграфы закрыты и ничего никуда не едет. Что уж говорить про JS, который зачастую странно отрабатывает на незакрытых тегах.
К чему это фанатическое стремление к валидному коду? Каковы его практические плюсы, кроме того, что это в принципе стандарт?


Вы совершенно неверно понимаете суть происходящего. «Валидный-невалидный» — пусть на форумах спорят.

Правильнее говорить о коде, написанном с соблюдением синтаксиса и семантики. Второе (семантика) подразумевает, что для описания информации в коде использованы именно те элементы (часто их ошибочно зовут «тегами»), которые наиболее подходят (т.е. заголовки через H1, H2 и т.д., параграфы через P, и т.п.).

Соблюдение синтаксиса предполагает, что ваш код соблюдает правила, указанные в спецификации HTML (или XHTML).


Главнейший практический плюс: валидный код обладает заранее известной структурой и упорядоченностью. Если в коде царит порядок, то такой код проще обрабатывать, обслуживать, видоизменять. Ошибки в коде — это всегда слуги хаоса. Их поведение непредсказуемо, неизвестно, как будет работать код с ошибками завтра.

Маленькое лирическое отступление: инженеры уже давно поняли, что унификация и стандартизация значительно снижают стоимость изготовления и, главное, обслуживания изделий. Это всё в сравнении с единичными или кустарными изделиями. Мои слова подтвердит любой мало-мальски грамотный инженер-конструктор. Попробуйте изготовить автомобиль,в котором все болтовые соединения выполнены разными болтами (с метрической резьбой, имперской и какой угодно другой, с разными размерами под ключ, формами головок и марками сталей). Если и соберёте, то потом замучаетесь обслуживать. Аналогия понятна?

Код с ошибками — чаще всего именно кустарщина. В то время как код, не имеющий ошибок, упорядочен (т.е. стандартизирован и унифицирован).

Все эти азы, которые до сих пор приходится разжёвывать во всяческих людных местах русскоязыной части сети, давно уже приняты и поняты ведущими западными веб-разработчиками. И нет в том никакого фанатизма.
Призадумался. Да, пожалуй, теперь мне куда понятнее что и как. Однако в большинстве случаев, стремление всё же остается если не фанатичным, то точно не здоровым. По крайней мере я могу об этом судить из того, что вы единственный, кто доходчиво объяснил свою позицию (или видиние предмета). Все остальные объяснения ограничивались чем-то вроде "это стандарт и хоть ты тресни". То есть получается, что люди либо понимают, но не могут объяснить. Либо не понимают, но "это стандарт и хоть ты тресни".

Спасибо. Пошел думать.
Люди бывают разные. Кому-то действительно проще не задумываясь делать. Кто-то — педант от рождения. Есть и такие, кто на своих собственных ошибках пришёл к пониманию необходимости соблюдать порядок.

Думайте.

P.S. Комментарием ниже отметился тестировщик. Ему проще делать свою работу. Проще делать — меньше багов в конечном продукте. У продукта будут свои пользователи. Которым не придётся столкнуться с теми ошибками, которые сумел победить тестировщик. Всё взаимосвязано.
Обычное дело, когда код в процессе написания прогоняется через онлайн-валидатор Консорциума. Это не трудно, но зато экономит время и нервы.
подпишусь, и замечу в скобках, что следование стандарту гарантирует то, что код будет корректно отображаться и отрабатывать и в дальнейшем (т.к. стандарты подразумевают определенную обратную совместимость). Чего нельзя сказать о не-валидном коде.

А рассуждение "валидность ради валидности" - оно по большей части безосновательное.

p.s. Мне, как тестировщику, проще работать с валидным (читай - правильно структурированным, корректным) кодом, а нашим разработчикам, соответственно, его поддерживать.
Я солидарен с вами.
думаю пользователю абсолютно всё равно, валиден сайт или нет.
остальное объяснено
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Валидность - это химера. Под валидностью многие понимают прицепленный в нижнем углу странички желтый прямоугольник с надписью "W3C XHTML 1.0" - как символ того, что при засовывании адреса странички в поле валидатора на сайте W3C вы получаете поощрительную зеленую надпись. Большинство людей при этом не задумывается, что же, собственно, произошло, чего добились? Означает ли похвала W3C'шного валидатора (который, к слову сказать, сам не безгрешен по части понимания HTML) что ваш сайт удобен? Функционален? Корректно отображается в разных браузерах? Доступен для людей с нарушениями органов зрения и т.д.? Перечислять можно до бесконечности. Ответ один - нет. Зеленая надпись о валидности не сообщает вам ни о чем, кроме того, что встроенный в сайт W3C робот сравнил ваш код со своим списком правил и не заметил разногласий.

"Валидность - знак качества". Результатом подобного подхода к разработке сайтов является нарастающая со сверхзвуковой скоростью тенденция к "подгонке" - когда получение зеленой надписи становится основной целью и единственным мерилом успеха. Боюсь навлечь на себя гнев окружающих, но выскажу свою мысль: я считаю, что за чрезмерно настойчивым пропагандированием и навязыванием любых стандартов стоят, кроме благих помыслов, попытки скрыть собственное бессилие. Очень это, знаете, удобно: использовать безликую эфемерную "валидность" как критерий качества. "У конкурентов сайт, конечно, красивый - удобный - толковый и товар покупают, зато у нас - валидный, а потому - наш лучше".

Подобных "заборов", за которыми пытаются прятать свое нежелание / неумение делать хорошо - пруд пруди. Доверчивому человеку расскажут и о непоправимом вреде использования таблиц при верстке, и о неземной благости зеленой надписи Valid, и о необходимости писать чуть ли ни к каждому слову на сайте цельный роман в тэгах, описавая языки, аббревиатуры и пр. Будто бы язык XHTML - величайшее и непогрешимое творение, а W3C - суть Олимп и Божья Канцелярия вместе.

Ахтунг:

Дабы прояснить мою позицию по вопросу: валидация по версии W3C позарез нужна тем, у кого еще не слишком много опыта в работе. Могу от всей души посоветовать сперва сделать пять - семь - десять сложных "валидных" проектов - это хорошая тренировка, для тех, кому небезразлично уметь. А затем - идите дальше, вылезайте из тесных рамок W3C-валидатора и творите свои, умные и хорошие проекты, валидатор - не потолок, а только ступенька в опыте...

P.S. В школе у вас не должно быть сомнений, какие знаки препинания ставятся в предложении "Пойду, покурю." Валидатор школьных правил - учебник - даст вам однозначный ответ на этот вопрос. В университете вы узнаете, что никакого правила, определяющего пунктуацию в данном примере - нет, и единственным вашим валидатором при встрече с подобной конструкцией остается здравый смысл, кругозор и достаточно опыта, чтобы отстаивать свои взгляды перед поклоняющимся валидатору...
Ваш комментарий — болтология чистейшей воды.
Вовсе нет. Болтология — это неаргументированное навешивание ярлыка «болтология».

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

Не слишком люблю Лебедева (смотрите код в их проектах, да баги, которые я нахожу все чаще), но вот тут правильно написано: http://validator.w3.org/check?uri=http:/…
Цель коммерческого сайта — это не валидность! И даже не дизайн. Цель коммерческого сайта — прибыль для компании.

К чему вы всё это написали? Каким образом вышеуказанное опровергает необходимость поддержания порядка в коде? Вы не согласны с тем, что порядок — это хорошо? Может быть вы считаете, что привычный для кода большинства рунетовских сайтов бардак — ресурсосберегающая практика, и на ней и должно быть основано дальнейшее развитие Сети? Или может всё-таки стоит задуматься о том, что удачная бизнес-модель, продуманные интерфейс и движок только выиграют, если к ним присовокупить синтаксически (и семантически!) верный код?

Валидный сайт куда проще забабахать, чем эффективный, прибыльный.

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

…но вот тут правильно написано: http://validator.w3.org/check?uri=http:/…


А я с уважением отношусь к тому, что делают в СЛ. Однако с заявленной сентенцией никогда не соглашусь. Она была бы справедлива только в том случае, когда на рынке присутствовал бы только один браузер. Единственный. С движком, не меняющим с течением времени алгоритмы работы с кодом. Эдакий идеальный браузер для Сети, пребывающей в состоянии абсолютного технологического покоя.
К чему написал? К тому, что разработчики сайтов гонятся за валидностью, когда надо бы гнаться за эффекивностью.

Как Вы пришли к столь ошибочному мнению, будто бы я «не согласен с тем, что порядок в коде это хорошо». Более того, я Вам скажу, что и невалидный код и табличную верстку можно сделать весьма упорядоченными. В то же время, валидный код можно сделать кашей. Валидность != порядок.

По поводу «сентенции от САЛ». Вот мы верстаем по стандартам, а затраты ресурсов на создание кроссбраузерного сайта при более-менее сложном дизайне только выше оказываются. Времени больше, нервов. Так что Ваш пассаж про «только один браузер» не засчитываю.

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

О какой гонке за валидностью идёт речь? Посмотрите вокруг: сплошной невалидный tag-soup.

Более того, я Вам скажу, что и невалидный код и табличную верстку можно сделать весьма упорядоченными.

Табличную — да. А невалидную считать упорядоченной уж увольте.

В то же время, валидный код можно сделать кашей.

Совершенно верно. Помня об этом, я специально уточнил комментарием выше.
Валидность != порядок.

Так я то ровно об этом же и писал. Однако валидность кода — один из краеугольных камней его порядка.
Так что Ваш пассаж про «только один браузер» не засчитываю.

Не убедили. Впрочем, как и Лебедев.
…с точки зрения бизнеса выгоднее при таком раскладе сделать невалидно, но адекватно.

Что мешает сделать и адекватно, и валидно?

Вот выше я читаю:
И если валидная верстка требует больших затрат чем просто кроссбраузерная

Простите, но, по-моему, Вы мешаете в одну кучу валидный код и pure CSS+(X)HTML-вёрстку (которая действительно требует навыка). Проблемы всё-таки возникают не с обеспечением валидности, но чаще всего с написанием нужных стилей.
Смотря что понимать под эффективностью. А гнаться вообще ни за чем не надо.
С точки зрения бизнеса: вам еще поддерживать ваш проект (если, конечно, не делать по принципу - сделал и забыл). А вот переверстывание каждый раз с выходом новой версии браузера, который поддерживает тот или иной кусок стандарта - зачастую значительно дольше.
Почему?
Ваши аргументы против валидности, мягко говоря, странны. Вас почитаешь, так в стане поборников валидного кода одни неуверенные очковтиратели и неумёхи.
Жаль, если я обидел поборников валидного кода. Я против него ничего не имею, но не соглашаюсь с пропагандируемой трактовкой валидности - как обязательного аттрибута сайта.
Где тут аргументы против валидности?! Аргументы были против вознесения валидности на знамена и объявления оной благом наивысшим.

Кстати, у меня большинство сайтов валидны. И все кроссбраузерны.
Встречный вопрос: где вознесение валидности на знамёна и объявление оной благом наивысшим?
обсуждение перешло в баталию, скоро полетят тапочки, торты, фекалии и т.п.
А спор (кажется) вертится вокруг того, что под валидностью разные люди здесь понимают разное - и каждый отстаивает свое мнение с пеной у рта.
Первая категория - те, кто говорит о валидном коде, как инструменте - его проще поддерживать ,гео не надо переписывать с входом новых стандартов.
Вторая категория - как раз те, кто против валидности, возведенной в ранг товара - мы валидные, значит мы лучшие. Это удел любого нового веяния (недавно наткнулся на рекламу "AJAX-ready хостинг - специально, новые технологии уже для вас").
Но! Речи о том, что это все надо делать только для того, чтобы получить зеленую полоску "одобрено валидатором" - не идет, это все маркетинговые ходы - причем весьма неумелые, рассчитанные на массу. Построение валидного кода только для того, чтобы w3c- валидатор сказал "круто" - это бред чистейшей воды. Так же, как бред чистейшей воды выводить валидность сайта в качестве рекламы - "посмотрите, какие мы валидные". Вы же не пишете для не-веб программ в качестве их достоинства "у нас правильные отступы в текстах программ, и венгерская нотация".

Резюмируя - пишите как хотите. Просто надо помнить, что если код еще и валидный, то это облегчает его поддержку, тестирование и обеспечивает относительную совместимость в будущем, а значит и меньшие затраты на проект.
простите, разумеется "его проще поддерживать, ЕГО не надо переписывать с ВВЕДЕНИЕМ новых стандартов"
Я против тех людей, которые добились зелёной надписи валидатора и думают, что сайт стал качественным. Это результат непонимания и того, что им не было объяснено, для чего же предназначена валидность, и что такое качественная вёрстка.

Но и ваше отношение - это результат. Результат неверного понимания, причиной которого является смешение качеств сайта и кода.

Удобство использования - это качество сайта. И это качество не зависит от внутренней реализации (исключаем, конечно, javascript).

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

Правильное отображение зависит от стилей, применённых к документу, и стилей по умолчанию, которые есть у каждого агента (по крайней мере у визуальных браузеров). И валидная, кроссбраузерная семантическая вёрстка сложнее, чем вёрстка таблицей, которая, впрочем, тоже, при соблюдении некоторых правил будет признана валидной. Используемый способ вёрстки - это показатель профессионализма.

Соблюдение семантики - это соблюдение смысла элемента. Это экономия времени, которое некоторые затрачивают на придумывание чего-то вроде [span class="heading1"]Заголовок[/span], вместо использования семантически подходящего [h1]Заголовок[/h1].

Доступность - это предоставление эквивалента для людей, которые обладают какими-либо ограничениями восприятия. Т.е. такое написание кода, в котором "фотография меня", будет, как минимум, снабжена атрибутом alt="Фотография меня", что будет полезно пользователям голосовых браузеров.

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

Поэтому в моём понимании эффективный сайт == полезный, удобный и интересный. И делается он, прежде всего, чтобы приносить пользу, а не ради прибыльности.
А эффективный профессионально выполненый сайт - это эффективный сайт, код которого валиден, семантичен, улучшает доступность и правильно отображается в браузерах.
Если в общих чертах, то как раз о погоне за зеленой полоской я и говорил. Мне лично не раз приходилось сталкиваться с товарищами, которые бравировали этой полоской и заявляли, что они мега челы. Но при этом сайт неадекватно отражался в разных браузерах.

Вот о чем я пытался сказать.

"Убей в себе зеленую полоску" (с) :)
Убивать не надо. Надо понять смысл. ;)
На мой взгляд валидность важна когда над проектом работает команда.
Это как ГОСТ на составные части. Знаешь по какому принципу скроена. Когда проект идет по рукам, проще разобраться и состыковать.

А если работает один человек - там подмазал, там подправил, в результате все пашет и отображается. Собственно и проблем никаких.

Конечно совершенно верно и отмеченное кем-то выше (лень смотреть) - это гарантия правильного отображения в браузерах.

Да и вообще, писать грамотно - это хорошо.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории