Должен ли я строго следовать каждому стандарту HTML и CSS?

11

Несколько лет назад я считал себя веб-разработчиком, знающим 3 основных языка (HTML, CSS, JS) и множество PHP. Переход от простого текста к реальным веб-сайтам был болезненным из-за так называемых «стандартов», которые в то время были нелепо сложными для меня. Это в значительной степени сводилось к этому (за исключением вещей, связанных с IE):

Веб-разработка в круговой диаграмме

Стандарты существуют, чтобы заменить старые способы сделать вещи более простым способом. Однако, когда я пытался реализовать некоторые вещи (например, полностью на основе CSS), мне потребовалось в 10 раз больше времени, чем если бы я сделал более простое и работающее решение. Если он отображается одинаково, то зачем мне использовать более сложный пример, который занимает в 10 раз больше времени и ломается после смены браузера? Это вызвало много долгих религиозных дебатов в ## php, ## css и ## js в Freenode IRC и фактически привело меня к запрету на ## css, потому что я испортил их маленький мир там.

Мой вопрос: должен ли я следовать всем отдельным стандартам и соглашениям по кодированию, даже если они дадут мне в 10 раз больше, но получат тот же результат, что и простой?


Для тега опроса, те из вас, у кого есть веб-сайты любого размера (большие или маленькие), соблюдаете ли вы все стандарты?

TheLQ
источник
У этого графика есть анти-IE, хотя ...
Ullallulloo
Стандарты и соглашения довольно разные. Я бы сказал, следуйте стандартам (W3C-спецификации, действительный код), потому что если вы этого не сделаете, все сломается. Но дизайн без таблиц - это руководство, предпочтение, лучшая практика, но не стандарт сам по себе.
Инка
Я придумал алгоритм увеличения производительности на 47% +/- 5%. Начните с разработки в IE, и вам не придется беспокоиться о FF, Chrome, Safari и т.д .... :). все остальные браузеры просто работают
Ibu
Вы используете CSS, потому что после того, как вы создали 50-ую таблицу, и кто-то пришел и попросил вас изменить их все, чтобы они были другими и все еще последовательно стилизованными, вы не будете в счастливом месте. Был там, сделал это (но не я создал первый беспорядок)
Кевин Клайн

Ответы:

12

Сначала продукт, затем полировка.

Получите ваш сайт / приложение / игру, делая то, что он должен делать. Получите это и работает, и заинтересовать людей.

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

Конечно, если из-за несоответствия люди не могут его просматривать, или он ужасно уродлив, или загружается месяц, или его трудно поддерживать, или он выходит из строя браузера, это серьезная проблема. Но это все равно будет серьезной проблемой, даже если вы будете соответствовать стандартам.

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

В итоге, существуют стандарты, облегчающие написание браузеров и закрывающие потенциальные дыры в безопасности. Amazon, Penny-Arcade и Stack Overflow не зарабатывают на запуске стандартного веб-сайта. И если вы не участвуете в конкурсе по написанию веб-сайтов, вы тоже не будете.

deworde
источник
12

Авторы стандартов думают о вещах, которые вам не приходили в голову, таких как проблемы доступности. Стандарты существуют по причине. И, с HTML5, стандартам довольно легко следовать.

Иногда может быть причина не следовать стандарту, но следование ему должно быть вашим поведением по умолчанию.

наряжать
источник
1
Это звучит достаточно справедливо. Я стараюсь следовать общим стандартам, но не каждый из них
TheLQ
7

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

Хотя в большинстве случаев это не будет применимо.

Том Моррис
источник
5

Я бы сказал, что «придерживайтесь» стандартов как можно лучше, но не тратьте слишком много времени на обыски, иногда вы можете излишне спроектировать стандартный HTML / CSS для достижения совершенства стандартов и остаться в худшем состоянии.

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

Довольно впечатляюще, пока вам не нужно добавить несколько дополнительных столбцов в отчет, смотрите, как эти столбцы идут повсюду, потому что вам нужно перенастроить настройки CSS, ширину и т.д. ..... кошмар.

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

Это приводит меня к семантическому HTML. Я действительно считаю, что ваш HTML должен содержать только элементы, которые описывают вашу страницу. Стили должны храниться в CSS и, в худшем случае, вводиться в атрибут «Стиль» тега HTML, где это применимо.

Я также не вижу веской причины, по которой не следует помещать их HTML через валидатор - при условии, что вы получаете действительный HTML, вы в значительной степени там.

Dal
источник
3

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

Например, в недавнем проекте единственным браузером, который мы должны были поддерживать, был Firefox 3.5. Это означало, что мы можем использовать свойства -moz css, не беспокоясь о том, как будет выглядеть страница в другом браузере. Действительно ли стоило делать длинные скругленные углы, просто чтобы мы использовали стандартный CSS?

Сказав это, при создании сайтов для нескольких браузеров, стандарты, как правило, помогают, а не мешают. Я бы попытался придерживаться большинства стандартов, но не потерял бы сон, если бы мне пришлось отклониться для совместимости браузера.

Для опроса ответ от меня нет.

Ланг Шарп
источник
0

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

Кобол тоже был стандартом.

Кевин Канту
источник