Действительно ли это приемлемо для недопустимого XHTML?

В Java все переменные, которые вы объявляете, на самом деле являются «ссылками» на объекты (или примитивы), а не самими объектами.

При попытке выполнить один метод объекта , ссылка просит живой объект выполнить этот метод. Но если ссылка ссылается на NULL (ничего, нуль, void, nada), то нет способа, которым метод будет выполнен. Тогда runtime сообщит вам об этом, выбросив исключение NullPointerException.

Ваша ссылка «указывает» на нуль, таким образом, «Null -> Pointer».

Объект живет в памяти виртуальной машины пространство и единственный способ доступа к нему - использовать ссылки this. Возьмем этот пример:

public class Some {
    private int id;
    public int getId(){
        return this.id;
    }
    public setId( int newId ) {
        this.id = newId;
    }
}

И в другом месте вашего кода:

Some reference = new Some();    // Point to a new object of type Some()
Some otherReference = null;     // Initiallly this points to NULL

reference.setId( 1 );           // Execute setId method, now private var id is 1

System.out.println( reference.getId() ); // Prints 1 to the console

otherReference = reference      // Now they both point to the only object.

reference = null;               // "reference" now point to null.

// But "otherReference" still point to the "real" object so this print 1 too...
System.out.println( otherReference.getId() );

// Guess what will happen
System.out.println( reference.getId() ); // :S Throws NullPointerException because "reference" is pointing to NULL remember...

Это важно знать - когда больше нет ссылок на объект (в пример выше, когда reference и otherReference оба указывают на null), тогда объект «недоступен». Мы не можем работать с ним, поэтому этот объект готов к сбору мусора, и в какой-то момент VM освободит память, используемую этим объектом, и выделит другую.

21
задан graham.reeds 25 February 2010 в 09:06
поделиться

14 ответов

Существуют много причин для использования допустимой разметки. Мой фаворит - то, что это позволяет Вам использовать проверку в качестве формы регрессионного тестирования, предотвращая разметку, эквивалентную из "гнили дельты" от продвижения до реальных проблем рендеринга, как только ошибки достигают некоторой критической массы. И действительно, это просто неаккуратно, чтобы позволить "ленивым" ошибкам как опечатки и теги mis-nested/unclosed накапливаться. Допустимая разметка является одним способом определить влюбленные программисты .

существует также проблема отладки: допустимая разметка также дает Вам стабильную базовую линию, от которой можно работать над неизбежным горем перекрестной совместимости браузера. Никакой веб-разработчик, который оценивает его время, не должен начинать отлаживать проблемы совместимости браузера без первого обеспечения, что разметка - по крайней мере синтаксически valid— и любая другая недопустимая разметка должна иметь серьезное основание для того, чтобы быть там.

(Кстати, stackoverflow.com проваливает и эти тесты и предложения для решения проблем , были , уменьшился .)

Все это сказало, для ответа на конкретный вопрос, вероятно, не стоит использовать один из XHTML doctypes, если Вы не планируете произвести допустимый (или в наименьшее количество правильно построенный) разметка. Основные преимущества XHTML получены из того, что XHTML является XML, позволяя этому быть обработанным и преобразованным инструментами и технологиями та работа с XML. Если Вы не планируете сделать свой правильно построенный XML XHTML, то существует мало точки в выборе этого doctype. Последняя спецификация HTML 4, вероятно, сделает все, в чем Вы нуждаетесь, и это является намного более прощающим.

16
ответ дан 29 November 2019 в 21:38
поделиться

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

2
ответ дан 29 November 2019 в 21:38
поделиться

Можно сказать, что у меня есть OCD на законности XHTML. Я нахожу, что большинство проблем с кодом, не являющимся допустимым, возникает от программистов, не знающих различие между HTML и XHTML. Я писал 100%-й допустимый XHTML и CSS или некоторое время теперь и никогда не имел никаких главных проблем рендеринга с другими браузерами. Если Вы сохраните все допустимым, и не попробуете ничего слишком экзотического, css мудрый, то Вы сохраните себя тонна времени в мерах.

2
ответ дан 29 November 2019 в 21:38
поделиться

Я не думаю, что при определении doctype существует любая причина не придерживаться этого doctype.

Используя XHTML делает автоматизированное обнаружение ошибок легким, каждое изменение может быть автоматически проверено на недопустимую разметку. Это предотвращает ошибки, особенно при использовании автоматически сгенерированного содержания. Это действительно легко для веб-разработчика, использующего механизм шаблонной обработки (JSP, ASP.NET StringTemplate, и так далее) к скопировать/вставить одному закрывающему тэгу слишком мало или слишком многим. Когда это - Ваша единственная ошибка, она может быть обнаружена и сразу зафиксирована. Я когда-то работал на сайт, который имел 165 ошибок проверки на страницу, которой 2 или 3 были фактические ошибки. Их было трудно найти в помехе других ошибок. Автоматическая проверка предотвратила бы эти ошибки в источнике.

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

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

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

2
ответ дан 29 November 2019 в 21:38
поделиться

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

Браузеры отклонят плохую разметку, если страница будет отправлена как application/xhtml+xml, но они редко. Это прекрасно.

я был бы более обеспокоен вещами как встроенное использование CSS и JavaScript с Переполнением стека, просто потому что они делают обслуживание тяжелее.

1
ответ дан 29 November 2019 в 21:38
поделиться

Хотя я верю в борьбу за допустимый XHTML и CSS, часто трудно сделать по ряду причин.

  • Первый, часть содержания могла быть загружена через Ajax. Иногда, фрагменты правильно не вставляются в существующий DOM.
  • HTML, который Вы просматриваете, не мог быть все произведен в том же документе. Например, страница могла быть сделана из компонентов или шаблонов, и затем брошена вместе прямо, прежде чем браузер представляет ее. Это не оправдание, но Вы не можете предположить, что HTML, который Вы видите, был рукой, кодированной внезапно.
  • , Что, если часть кода, сгенерированного Скидкой с цены, недопустима? Вы не можете обвинить Переполнение стека в том, что оно не произвело допустимый код.
  • Наконец, цель DOCTYPE не состоит в том, чтобы просто сказать "Эй, я использую допустимый код", но это должно также дать браузер головы, что Вы пытаетесь сделать так, чтобы это могло, по крайней мере, близко подойти к правильно парсингу та информация.

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

1
ответ дан 29 November 2019 в 21:38
поделиться

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

1
ответ дан 29 November 2019 в 21:38
поделиться

Нет, Вы не должны использовать XHTML, если Вы не можете гарантировать отмеченность, и на практике Вы не можете гарантировать это, если Вы не будете использовать сериализатор XML для генерации разметки. Читайте о создании XML.

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

, Если сайт "XHTML", кажется, работает с некоторыми ошибками, это - потому что браузеры игнорируют DOCTYPE и интерпретируют страницу как HTML.

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

1
ответ дан 29 November 2019 в 21:38
поделиться

Это зависит. У меня был тот проблема с моим блогом , где видео YouTube вызвало недопустимый XHTML, но это представило прекрасный. С другой стороны, у меня есть "Допустимый XHTML" ссылка, и комбинация "Допустимого XHTML" требование и недопустимый XHTML не профессиональна.

Как ТАК не утверждает, что был допустим, я думаю, что приемлемо, но лично если бы я был Jeff, то я был бы побеспокоен и попытался бы зафиксировать его, даже если это выглядит хорошим в современных браузерах, но некоторые люди скорее просто идут дальше и на самом деле добиваются цели вместо того, чтобы исправить несуществующие ошибки.

0
ответ дан 29 November 2019 в 21:38
поделиться

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

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

0
ответ дан 29 November 2019 в 21:38
поделиться

Я говорю, если это представляет OK, тогда не имеет значения, если это - прекрасный пиксель.

Это требует времени для подъема сайта и выполнения путем, Вы хотите это, возвращение и вносить изменения собираются изменить способ, которым страница представляет немного, тогда необходимо зафиксировать они проблемы.

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

0
ответ дан 29 November 2019 в 21:38
поделиться

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

0
ответ дан 29 November 2019 в 21:38
поделиться

Я не понимаю, почему все схвачены, пытаясь заставить их веб-сайты соответствовать стандарту, когда некоторый подоконник браузеров имеет проблемы, правильно представляющие стандартный код. Я был в веб-дизайне для чего-то как 10 лет, и я прекратил дважды вводить в заблуждение (чтение: взламывание css), и изменение глупого материала именно так я мог поместить кнопку на свой сайт.

я верю тому использованию < отделение> заставит Вас быть недопустимы невнимательный, и становится немного более трудным сделать любой главный JavaScript/AJAX без него.

0
ответ дан 29 November 2019 в 21:38
поделиться

Для 99,999% сайтов там, это действительно не будет иметь значения. Единственное время у меня был он вопрос, я выполнил ввод HTML через HTMLTidy к XHTML-ize это и затем выполнил мою обработку на нем.

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

0
ответ дан 29 November 2019 в 21:38
поделиться
Другие вопросы по тегам:

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