Подсказки для предотвращения большого комка грязи с ASP.NET WebForms

Это работает. Он заполняется пробелами, а не NA s, но вы можете изменить этот пост-hoc, если хотите. (fill = 'right' работает только при разбиении на вектор символов, а не на явные позиции.)

maxchar = max(nchar(as.character(df$y)))
tidyr::separate(df, y, into = paste0("y", 1:maxchar), sep = 1:(maxchar - 1))

#    x y1 y2 y3 y4 y5 y6
# 1 X1  0  0  L  0         
# 2 X2  0                  
# 3 X3  0  0  0  1  2  L   
# 4 X4  0  1  2  3  L  0   
# 5 X5  0  D  0      
7
задан Larsenal 22 September 2008 в 23:00
поделиться

6 ответов

  • Создайте средства управления интернет-пользователя для чего-либо, что покажут больше чем на одной странице, которая не является частью содержания типа masterpage. Пример: Если Ваша информация о продукте отображений приложения на 10 страницах, лучше иметь пользовательский элемент управления, который используется на 10 страницах, а не cut'n'pasting код дисплея 10 раз.
  • Помещенный как можно меньше бизнес-логики в код позади. Код позади должен подчиниться Вашему бизнес-слою для выполнения работы, которая непосредственно не связана с помещением вещей на странице и отправке данных назад и вперед от бизнес-слоя.
  • Не изобретать велосипед. Много неаккуратных codebehinds, которые я видел, составлено из кода, который делает вещи, которые уже обеспечивает платформа.
  • В целом избегайте блоков сценария в HTML.
  • Не имейте одной страницы, делают слишком много вещей. Что-то, что я видел снова и снова, является страницей, которые, как, которые говорят, имеет, добавляют и режимы редактирования. Это прекрасно. Однако, если у Вас есть много sub режимов, чтобы добавить и отредактировать, Вы - более обеспеченное наличие нескольких страниц для каждого sub режима с повторным использованием через пользовательские элементы управления. Действительно необходимо постараться не идти набор вложенной IFS для определения то, что пользователь пытается сделать и затем показывает корректные вещи в зависимости от этого. Вещи выходят из-под контроля быстро, если Ваша страница имеет много возможных состояний.
  • Learn/Grok жизненный цикл страницы и использование это в ваших интересах. Много ужасных codebehind страниц, которые я видел, могли быть более чистыми, если бы кодер понял жизненный цикл страницы лучше.
2
ответ дан 7 December 2019 в 05:35
поделиться

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

  1. Содержите получающийся HTML в чистоте: Просто, потому что Вы не кодирование руки каждый <div> не означает, что сгенерированный код должен стать нечитабельным кошмаром. Предотвращение средств управления, которые производят ужасный код, может окупиться в уменьшенное время отладки позже путем создания проблем легче видеть.
  2. Минимизируйте внешние зависимости: Вам не платят для отладки чужого кода. Если Вы действительно принимаете решение полагаться на сторонние компоненты, затем получают источник, таким образом, Вы не должны тратить впустую необычно большое количество времени, исправляя их ошибки.
  3. Постарайтесь не делать слишком много на одной странице: Если Вы реализуете сложные "режимы" для данной страницы, рассматриваете повреждение его в несколько, однорежимные страницы, возможно, с помощью основных страниц для факторизации общих аспектов.
  4. Избегайте обратной передачи: Это всегда было ужасной идеей и не стало немного менее ужасным. Головные боли, которые Вы сохраните, не используя средства управления, которые зависят от обратной передачи, являются хорошей премией.
  5. Избегайте СОСТОЯНИЯ ОТОБРАЖЕНИЯ: См. комментарии для № 4.
3
ответ дан 7 December 2019 в 05:35
поделиться

Запустите с Основных Страниц в день № 1 - это - боль, возвращающаяся к модификации.

1
ответ дан 7 December 2019 в 05:35
поделиться

С крупными проектами лучшее предположение, что я могу дать Вам, состоит в том, чтобы следовать за шаблоном общего умысла, что все Ваши разработчики хорошо обучены в и хорошо знающий. Если Вы имеете дело с ASP.NET затем, лучшие две опции для меня:

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

o ASP.NET MVC проблема с этим состоит в том, что это находится в предварительном просмотре. Я говорил с Tatham Oddie и быть упомянутым, что это очень стабильно и применимо. Мне нравится он, это осуществляет разделение проблем и делает так с минимальным дополнительным кодом для разработчика.

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

3
ответ дан 7 December 2019 в 05:35
поделиться

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

Проверьте его здесь: Модель Презентации

0
ответ дан 7 December 2019 в 05:35
поделиться

Используйте управление версиями и структуру папок для предотвращения слишком многих файлов от всего находящегося в той же папке. Нет ничего более болезненного, чем ожидание Windows Explorer для загрузки чего-то, потому что существует 1,000 + файлы в папке, и это должно загрузить всех их, когда папка открыта. Конвенцию по именованию переменных и методов также хорошо иметь заранее если возможный так, чтобы не было этой путаницы кода, где различные разработчики, все вносят их уникальные штрихи и это мучительно, показывают.

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

Наконец, знайте, какие стандарты Ваши формы собираются поддержать: Это только для пользователей IE, или должен какой-либо IE, Firefox, или Safari легко загружает форму и выглядит хорошим?

-1
ответ дан 7 December 2019 в 05:35
поделиться
Другие вопросы по тегам:

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