الأساليب

تعلّم كيف تكتب الأساليب للتمارين


يمكن أن يرتبط بكل تمرين عدد من الأساليب التي تصف الطرق المختلفة لحل التمرين.

الأسلوب

ينبغي أن يستكشف الأسلوب كيفية حل التمرين بأسلوب معيّن.

  • ينبغي أن يتضمن محتواه أحد الأمرين:
    • استكشاف أسلوب أصيل
    • استكشاف أسلوب غير أصيل لكنه مثير للاهتمام
  • ابدأ بمثال برمجي (كامل)
    • استخدم الأمثلة البرمجية بكثرة في بقية المستند
  • لا تتردد في التعمق في الموضوع
  • أضف روابط لمصادر مفيدة (مثل التوثيق)
  • ينبغي أن يُظهر المقتطف جوهر الأسلوب
    • يمكن استخدام 8 أسطر كحد أقصى

إذا أردت المقارنة بين أساليب مختلفة، فاكتب مقالًا.

نظرة عامة على الأساليب

  • ضع المشكلة في سياقها
    • صف النقاط المهمة (مثل الأخطاء الشائعة) التي تنطبق على جميع الأساليب
  • ناقش الأساليب الأكثر أصالة
  • ينبغي أن يبدأ كل أسلوب بمقتطف يوضحه
  • أبقِ المحتوى على مستوى عالٍ نسبيًا
    • ينبغي أن تذهب المعلومات التفصيلية إلى صفحة أسلوب مستقلة
    • أضف رابطًا إلى صفحة الأسلوب المستقلة لمزيد من المعلومات
  • ناقش كيفية الاختيار بين الأساليب
    • ما هي المفاضلات؟
    • هل تناسب بعض الأساليب حالات استخدام محددة أكثر من غيرها؟

اعتبارات عامة

  • بعض اللغات تكتب الشيء نفسه بصيغ مختلفة. إذا كانت بعض هذه الصياغات قد أصبحت متاحة فقط في إصدارات أحدث من اللغة، ففكّر في استخدام الصياغة "القديمة". هذا يجعل من المرجح أن يفهم المتعلمون الكود.
    • يمكن عرض صياغة بديلة في مستند الأسلوب
  • إذا كانت لغتك لها دليل أسلوب مُوصى به، فاتبع إرشاداته (حيث أمكن)

ما التمارين التي تُكتب لها الأساليب؟

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

أما التمارين المفاهيمية، فقد يكون من المثير للاهتمام مناقشة الأسلوب النموذجي. مثلًا، يمكنك أن تعرض كيف يجعل المفهوم المُدرَّس كتابة كود معين أسهل.

الملفات

يجب أن يضيف كل أسلوب الملفين التاليين:

  • .approaches/<approach-slug>/content.md: وصف الأسلوب (انظر التوثيق)
  • .approaches/<approach-slug>/snippet.txt: مقتطف يوضح الأسلوب (انظر التوثيق)

ثم ستحتاج إلى إضافة ما يلي أو تحديثه:

  • .approaches/config.json: بيانات وصفية للأساليب (انظر التوثيق)

إعداد امتداد المقتطف

يمكنك أيضًا استخدام امتداد مخصص بدلًا من الامتداد الافتراضي .txt عبر تعيين الحقل approaches.snippet_extension في ملف config.json الخاص بالمسار. وإذا عيّنته، فيجب أن يكون اسم ملف المقتطف الذي تضيفه .approaches/<approach-slug>/snippet.<approaches.snippet_extension>.