HTML должен сосуществовать с кодом?

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

7
задан 10 revs, 5 users 53% 23 October 2009 в 15:33
поделиться

14 ответов

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

13
ответ дан 6 December 2019 в 08:17
поделиться

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

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

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

5
ответ дан 6 December 2019 в 08:17
поделиться

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

1
ответ дан 6 December 2019 в 08:17
поделиться

Если я понимаю право вопроса, Вы спрашиваете, является ли это хорошей практикой для смешивания разметки с кодом бэкенда. Нет. В то время как это обычно делается, это - все еще плохая идея.

Необходимо ли читать на парадигме MVC, а также по существующим вопросам по вопросу, такой как, Что лучший способ состоит в том, чтобы переместить существующее грязное веб-приложение в изящный MVC? и Лучшие практики для рефакторинга классического ASP?

1
ответ дан 6 December 2019 в 08:17
поделиться

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

Например, шаблоны будут содержать циклы и условные выражения. Плюс у Вас, вероятно, будет библиотека определенных для HTML стандартных программ, как распечатывание <опция> список на основе объекта списка.

Предположите запись приложения, которое имеет два режима вывода: HTML и что-то еще. Как Вы записали бы это, чтобы не копировать код? Это, вероятно, укажет на Вас в правильном направлении.

1
ответ дан 6 December 2019 в 08:17
поделиться

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

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

1
ответ дан 6 December 2019 в 08:17
поделиться

Если мне нужны методы, которые генерируют HTML, я обычно изолирую их в классе HtmlHelpers. Тем путем Вы сохраняете некоторый уровень разделения. Платформа MVC ASP.NET делает это вполне успешно.

0
ответ дан 6 December 2019 в 08:17
поделиться

Его fugly, и не безопасный с точки зрения типов. Но люди делают это без последствия. Я предпочел бы использовать DOM или, как минимум, классы, разработанные для записи HTML с помощью безопасной с точки зрения типов семантики. Кроме того, не весь настолько хороший для смешивания UI с логикой...

0
ответ дан 6 December 2019 в 08:17
поделиться

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

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

0
ответ дан 6 December 2019 в 08:17
поделиться

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

0
ответ дан 6 December 2019 в 08:17
поделиться

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

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

0
ответ дан 6 December 2019 в 08:17
поделиться

Идеально Вы стремитесь к разделению проблем между Вашей презентацией (UI) код и Вашим доменом (бизнес-логика) код.

Причина, почему необходимо постараться не связывать эти две проблемы (в любом направлении) проста...

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

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

0
ответ дан 6 December 2019 в 08:17
поделиться

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

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

0
ответ дан 6 December 2019 в 08:17
поделиться
  1. Я стараюсь не использовать код для печати HTML "непосредственно". Трудно поддержать, отредактировать, добавить стили и и т.д. Некоторые случаи как генерация электронного письма HTML в коде, я создаю текстовый файл или файл HTML с маркерами как, [имя], [код подтверждения] и и т.д. Я загружаю это из кода и заменяю те маркеры. Таким образом, можно отредактировать стиль электронной почты, не перекомпилировав код. Разделение "презентации" и "логики" является хорошей практикой, по-моему.
  2. Смешивание кода в HTML обычно является не хорошей практикой в подобных причинах, как сказано в № 1. Однако я действительно использую код в HTML для вещей как простые динамические строки, которые отображены многократно на странице или страницах. Я думаю, что это лучше, чем создание нескольких управления сервером для тех же точных значений для установки. Так как это не код "логика", смешанная в HTML, я думаю, что это в порядке.
0
ответ дан 6 December 2019 в 08:17
поделиться
Другие вопросы по тегам:

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