Мне нравится подчеркивание, потому что затем я могу использовать строчное имя в качестве параметров метода как это:
public class Person
{
string _firstName;
public MyClass(string firstName)
{
_firstName = firstName;
}
public string FirstName
{
get { return _firstName; }
}
}
YAML гораздо менее подробен. Без скобок отношение сигнал / шум выше. Это делает его субъективно более легким для чтения и редактирования для многих людей. С другой стороны, его немного (лишь немного) сложнее анализировать.
Однако самое большое различие состоит в том, что XML предназначен для использования в качестве языка разметки, а YAML - это скорее формат данных. Представление простых, иерархических данных, как правило, более изящно выполняется в YAML, но фактический размеченный текст неудобно представлять.
РЕДАКТИРОВАТЬ: Я хотел бы добавить, для справки, что YAML по сути (хотя и не исторически) «более чистая» версия JSON («Нотация объектов Javascript»), которая в значительной степени устраняет видимый шум строки (скобки и фигурные скобки). Если вы не можете найти подходящую библиотеку YAML для конкретного проекта, то JSON - более широко поддерживаемая альтернатива со многими преимуществами YAML.
YAML менее подробный, чем XML; однако YAML предназначен только для данных и технически не является языком разметки ( Y AML A 'int M arkup L anguage) .
Основное преимущество, которое я вижу, состоит в том, что оно более легко читается человеком. Мне он также нравится немного больше, чем XML, потому что в нем уже встроена концепция определенных структур данных (словарей и массивов).
С другой стороны, поддержка библиотеки для синтаксического анализа YAML далека от XML, поэтому сложнее использовать его для выполнения одной из основных задач XML. Это взаимодействие между приложениями.
Я не уверен, что будущее за YAML. Хотя я использовал его, и он WorksForMe ™, у меня часто возникают жалобы на его характеристики. Последний из них - Почему мне не нравится YAML .