Стоит ли время разработки выводить действительный HTML?

Хорошо, я думаю, что у меня довольно крутое решение. Допустим, у вас есть файл a и файл b. У вас есть def или class в файле b, который вы хотите использовать в модуле a, но у вас есть что-то еще, либо def, class, либо переменная из файла a что вам нужно в вашем определении или классе в файле b. Что вы можете сделать, это внизу файла a после вызова функции или класса в файле a, которая необходима в файле b, но прежде чем вызывать функцию или класс из файла b, который вам нужен для файла a, скажем import b Затем, и вот ключевая часть во всех определениях или классах файла b, которым нужны def или class из файла a (назовем это CLASS), вы говорите from a import CLASS

Это работает, потому что вы можете импортировать файл b без Python, выполняющего какие-либо из операторов импорта в файле b, и, таким образом, вы избегаете любых циклических импорта.

Например:

Файл a:

class A(object):

     def __init__(self, name):

         self.name = name

CLASS = A("me")

import b

go = B(6)

go.dostuff

Файл b:

class B(object):

     def __init__(self, number):

         self.number = number

     def dostuff(self):

         from a import CLASS

         print "Hello " + CLASS.name + ", " + str(number) + " is an interesting number."

Voila.

13
задан 17 of 26 20 April 2009 в 18:11
поделиться

13 ответов

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

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

Поэтому всегда ищут практическое преимущество, существуют некоторые в некоторых ситуациях, но не делают этого только ради него.

20
ответ дан Alvaro 20 April 2009 в 18:11
поделиться
  • 1
    Это также, к сожалению, делает запрос non-ANSI-compliant, потенциально вызывая проблемы, при попытке переместить запрос в другую базу данных. Надлежащий способ разграничить идентификаторы с " doublequotes" но MySQL doesn' t поддерживают это по умолчанию; необходимо установить ANSI_QUOTES в SQL_MODE для получения этого. Конечно, это тогда портит Ваш строковый литерал " coun" который должен независимо от SQL_MODE быть записанным с одинарными кавычками. – bobince 8 September 2009 в 09:25

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

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

17
ответ дан Mike Edwards 20 April 2009 в 18:11
поделиться
  • 1
    интересный, didn’t знают, что об обратных галочках по сравнению с кавычками (я только работаю с mysql). и мм, you’re прямо об одинарных кавычках для строк (ошибка вставки копии от вопроса asker’s код) – knittl 8 September 2009 в 09:39

Вероятно, не, если Вы имеете не соответствующий сайт для начала и коротки вовремя.

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

соответствие Сайта (по крайней мере, к Переходному) довольно легко.

11
ответ дан Matt Mitchell 20 April 2009 в 18:11
поделиться

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

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

  1. Ваша страница, намного более вероятно, будет работать с более широким диапазоном браузеров.
  2. соответствие Доступности будет легче (у Вас будут атрибуты 'высокого звука' на Ваших изображениях, например)
  3. , Если Вы выберете XHTML в качестве стандарта, Ваша разметка, более вероятно, будет полезна в среде Ajax.

Отказ сделать это приводит к непредсказуемости.

Одна из самых больших проблем с веб-браузерами - то, что они увековечили дурные привычки (И все еще сделайте, в некоторых случаях) путем тихого исправления определенных проблем разметки, таких как отказ закрыть ячейки таблицы и/или строки. Этот единственный факт привел к тысячам веб-страниц, которые не совместимы, но 'работают', убаюкивая их разработчиков в ложное чувство безопасности.

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

РЕДАКТИРОВАНИЕ: читая Ваше исходное сообщение снова, я замечаю, что Вы говорите, что не беспокоитесь соответствием при работе над прототипом, тогда Вы продолжаете, что Вы обычно используете прототип в производстве - это означает, что это не строго прототип, но кандидат. Нормальная ситуация при таких обстоятельствах состоит в том, что, как только клиент принимает кандидата, никакое время не выделяется для устранения ошибки или уборки, таким образом усиливая аргумент в пользу того, чтобы сделать разметку совместимой во-первых.

, Если Вам не дадут время спустя, сделайте это теперь.

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

9
ответ дан belugabob 20 April 2009 в 18:11
поделиться

Почему бы не записать прототип в допустимом (X) HTML во-первых? Я имею никогда , нашел что быть большим количеством усилия, чем использование недопустимого HTML. Создание допустимого XHTML должно быть тривиальной задачей. (С другой стороны, производя семантически значимый XHTML мог бы быть более налоговым.)

Короче говоря, я вижу никакое преимущество безотносительно в использовании недопустимого HTML для прототипов.

6
ответ дан Konrad Rudolph 20 April 2009 в 18:11
поделиться
  • 1
    Но тогда согласно stackoverflow этикету это должно быть комментарием к тому конкретному ответу. Спасибо за понимание. – Harshay Buradkar 6 February 2013 в 03:39

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

легко протестировать Ваш HTML с автоматические блоки проверки допустимости .

я добавлю к тому, что Mike Edwards сказал о легальных разветвлениях, и напомните Вам, что у Вас есть моральное обязательство также:)

6
ответ дан mlambie 20 April 2009 в 18:11
поделиться
  • 1
    Я прошу отличаться, видеть последнее предложение в вопросе. Уверенный я didn' t отвечают на целый вопрос, но я чувствовал, что один из других ответов касался этого. – baldy 15 September 2009 в 07:23

Я честно не знаю, почему это - дополнительное усилие сделать основанный на стандартах HTML. Это не, как будто это твердо, и необходимо делать его как профессионализм.

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

3
ответ дан qui 20 April 2009 в 18:11
поделиться

Допустимый HTML только, чтобы быть в состоянии иметь значок на Вашем сайте - нет.

Имеющий "допустимый HTML" в смысле "HTML, который работает над каждым главным браузером или механизмом браузера" - да.

2
ответ дан Eikern 20 April 2009 в 18:11
поделиться
  • 1
    Number isn' t переменная, т.е. it' s значение can' t быть измененным во времени выполнения. – sbi 1 April 2010 в 17:21

По-моему, ключевой критерий "соответствует целевому назначению" - Если Ваши клиенты хотят что-то для маленького / внутреннего рынка (и не заботьтесь, отчуждает ли это потенциальных клиентов, которые имеют нарушения или используют менее - общие браузеры), тогда, это - их выбор.

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

1
ответ дан Chris B-C 20 April 2009 в 18:11
поделиться
  • 1
    должным образом отмеченный и зафиксированный. I' ll добавляют комментарии о " Foo" – wheaties 1 April 2010 в 21:02

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

, Если Вы не в тот целый IE8 поврежденная вещь увековечивания стандартов, которую они хотят включить по умолчанию. - это - другой аргумент.
WebKit, Геккон, Престо? (то, что механизм оперы?), и другие будут всегда становиться более совместимыми с каждым выпуском.

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

1
ответ дан maero 20 April 2009 в 18:11
поделиться
  • 1
    Вы don' t потребность Foo вообще, можно просто сделать boost::shared_ptr<void> с соответствующими средствами удаления. – user1095108 19 March 2013 в 12:05

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

Рассматриваемый вопрос:

А желтый фон двигался потоком из списка сообщений и по достижению следующего списка сообщений - но только в Internet Explorer.

, Почему? Фон был применен к элементу списка, но человек, который записал страницу, записал его как единственный список с заголовком в середине. Заголовки не позволяются между , элементы списка и различные браузеры попытались восстановиться с него по-разному. Internet Explorer закончил элемент списка (с цветом фона), когда это видело запуск следующего объекта (после заголовка), в то время как другие браузеры закончили его, когда они видели конечный тэг для первого элемента списка.

Это была единственная ошибка законности на странице, таким образом, потребовалось только несколько минут, чтобы разыскать проблему и зафиксировать его.

2
ответ дан Quentin 20 April 2009 в 18:11
поделиться

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

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

1
ответ дан lock 20 April 2009 в 18:11
поделиться
  • 1
    Строго говоря нет никакой гарантии этого ’shared_pointer< Foo> ’ является достаточно большим для хранения всех тех различных типов, если ’Foo’ не связан с ними в некотором роде. Кроме того, ’ _ AFOO’ является недопустимым идентификатором. – Dennis Zickefoose 1 April 2010 в 20:31

Существует два правила для записи веб-сайтов:

  1. сайт должен работать на Ваших пользователей.
  2. сайт должен работать на Ваших пользователей.

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

Для соблюдения второго правила необходимо кодировать таким образом, что сайт представляет правильно при использовании для слепых экранов и программ экранного доступа. Хотя некоторые более новые программы экранного доступа могут работать с предназначенными IE сайтами, в целом это означает писать допустимый HTML.

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

ОБНОВЛЕНИЕ:

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

-4
ответ дан Simon 20 April 2009 в 18:11
поделиться
  • 1
    @Michael: Я не предложил сохранить его в файл – Brian R. Bondy 1 April 2010 в 19:25
Другие вопросы по тегам:

Похожие вопросы: