Nano Hash - криптовалюты, майнинг, программирование

Существует ли общепринятый стиль отступов атрибутов в XAML?

Я видел обе эти формы:

Стиль №1

<TextBox
    Name="someTextBox"
    Width="50"
    Height="60" >
    Some Text
</TextBox>

Преимущества

  • Постоянный уровень отступа для всех элементов. Вы не увидите атрибуты sibling1 с отступом в 8 пробелов, в то время как атрибуты sibling2 имеют отступ в 9 пробелов.
  • Минимальный уровень отступа. Длинные имена элементов не будут иметь атрибутов с чрезмерным отступом.

Недостатки

  • Трудно отличить содержимое от атрибутов.
  • Берет дополнительную строчку.

Стиль №2

<TextBox Name="someTextBox"
         Height="60"
         Width="50" >
    Some Text
</TextBox>

Преимущества

  • Легко отличить контент от атрибутов
  • Сохраняет строку текста

Недостатки

  • Различные элементы на одном уровне дерева могут иметь разные уровни отступов для атрибутов.
  • Уровни отступов могут быть довольно высокими.

Короче говоря, оба работают (и оба поддерживаются Visual Studio). Я склоняюсь к стилю №1, но важнее всего то, что я согласен с другими разработчиками. Какой из этих стилей используется чаще?

30.07.2011

  • Мне также нравится стиль №1. visualstudiogallery.msdn.microsoft.com/ было бы полезно для тебя. 30.07.2011
  • Недостаток стиля № 1: он не используется по умолчанию в Visual Studio. Вам придется следить за предпочтениями каждого, чтобы постоянно использовать его в команде. 09.08.2011
  • @PatrickSzalapski Это есть, если вы начинаете первый атрибут с новой строки. 12.02.2014

Ответы:


1

Я не думаю, что есть общепринятый стиль.

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

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

<TextBox Name="someTextBox"
         Width="50" Height="60">
    Some Text
</TextBox>

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

31.07.2011
  • Это схема, которую мы используем, и она работает довольно хорошо. Однако иногда для очень длинных списков атрибутов возникают разногласия по поводу того, где должны быть разделены для удобства чтения. Хотя на самом деле идеального решения не существует. 09.08.2011

  • 2

    Лично я предпочитаю иметь все свойства в одной строке XAML, когда я пишу HTML или XML. Я думаю, это может быть связано с тем, что у меня всегда включен перенос слов в Visual Studio, и я приучил свои глаза читать его.

    Глядя на оба стиля, которые вы предоставили, мне на самом деле труднее их читать.

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

    30.07.2011
  • Я также думаю, что стиль 2 выглядит лучше всего. 12.12.2012
  • Спасибо, что указали на трюк переноса слов. Это выглядит очень хорошо в VS2013, который по-прежнему не может исправить автоматический отступ для атрибутов после вырезания и вставки. 03.05.2014
  • Новые материалы

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

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

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

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..