Pull to refresh

Comments 36

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

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

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

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


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

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

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


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

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

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

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

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

Думайте.

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

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

p.s. Мне, как тестировщику, проще работать с валидным (читай - правильно структурированным, корректным) кодом, а нашим разработчикам, соответственно, его поддерживать.
думаю пользователю абсолютно всё равно, валиден сайт или нет.
остальное объяснено
UFO just landed and posted this here
UFO just landed and posted this here
Валидность - это химера. Под валидностью многие понимают прицепленный в нижнем углу странички желтый прямоугольник с надписью "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="Фотография меня", что будет полезно пользователям голосовых браузеров.

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

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

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

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

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

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

Да и вообще, писать грамотно - это хорошо.
Sign up to leave a comment.

Articles