ما هو نوع التطبيق/الاستخدام المناسب لـ YAML؟

StackOverflow https://stackoverflow.com/questions/80693

  •  09-06-2019
  •  | 
  •  

سؤال

لماذا يختار المرء يامل عبر XML أو أي تنسيقات أخرى؟

هل كانت مفيدة؟

المحلول

وأنا أتفق مع سيرجيو.يوفر YAML تنسيقًا يمكن للبشر تحريره بسهولة، ولكنه أيضًا طريقة جيدة لتمثيل هياكل البيانات بشكل نظيف.

تميل YAML إلى أن تكون أكثر قابلية للقراءة من قبل الإنسان، IMO.

YAML هي تقنية لتسلسل البيانات أكثر من كونها لغة ترميزية.

نصائح أخرى

ياملتتمثل المزايا الرئيسية لـ في سهولة القراءة البشرية والاكتناز.أوه، وهو مدعوم على نطاق واسع عبر منصات ولغات مختلفة.

يحظى YAML بشعبية كبيرة في مجتمع Ruby، حيث يتم استخدامه بشكل أساسي بدلاً من XML لملفات التكوين في Rails وMerb على سبيل المثال.

سأختار YAML إذا كانت المستندات بحاجة إلى التحرير أو الإنشاء بواسطة البشر.مجرد فكرة.

ما هو نوع التطبيق/الاستخدام المناسب لـ YAML؟

من الصعب الإجابة بوضوح على هذا.بدلاً من ذلك، سأحاول تقديم بعض الأمثلة على ماهية YAML ليس كذلك جيد ل (في رأيي المتواضع).

<name type="string">Orion</name>
<age type="integer">26</age>

هذه هي الحالة حيث يكون من المفيد مزج كل من السمات والقيم في XML.لا يحتوي YAML على سمات، لذا يتعين عليك استخدام استنتاج النوع لتحديد التاريخ/العدد الصحيح/السلسلة/إلخ - يفشل هذا مع الأنواع المعقدة أو المحددة من قبل المستخدم.

<user>
  .... 10 lines of stuff
  <sub-user>
    ...15 more lines of stuff
  </sub-user>
  .... 10 more lines of stuff belonging to user
</user>

هذه هي الحالة التي توفر فيها علامات الإغلاق في XML الكثير من الفوائد.إذا كنت تريد تنسيق البيانات المذكورة أعلاه في YAML، باستخدام المسافة البادئة فقط لتوفير "النطاق"، فسيكون من الصعب جدًا معرفة أين تبدأ الأشياء وتنتهي.

لحسن التدبير، وهنا اقتباس من مواصفات yaml الرسمية على yaml.org

YAML هي في المقام الأول لغة تسلسل البيانات.تم تصميم XML ليكون متوافقًا مع لغة التوصيف المعممة القياسية (SGML)، وبالتالي تم وضع العديد من قيود التصميم عليه والتي لا تشاركها YAML.من خلال إرث SGML، تم تصميم XML لدعم الوثائق المنظمة، حيث يتم استهداف YAML بشكل وثيق في هياكل البيانات والرسائل.حيث أن XML هي الرائدة في العديد من المجالات، فإن YAML هي نتيجة الدروس المستفادة من XML والتقنيات الأخرى.

أستخدم YAML كبديل رخيص وسهل لكتابة لغة خاصة بالمجال (خاصة في الحالات التي سيقوم فيها مطورون آخرون بالصيانة؛لست متأكدًا من أنني سأستخدمه عندما يقوم غير المطورين بصيانته)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top