كتابة مشكلة جيدة

جميع المشروعات الرائعة مبنية على ملاحظات المستخدمين. يستخدم Bluely مشكلات GitHub لتتبع الملاحظات. تعرض هذه الصفحة بالتفصيل طريقة كتابة مشكلة يسهل على المطوّر قراءتها والرد عليها، ما يزيد احتمال معالجة تقرير الأخطاء/طلب الميزة.

قبل العمل

هل مِن أسئلة؟

يُسعدنا معرفة أسئلتك. لكن مشكلات GitHub ليست وسيطًا جيدًا جدًا لها. إذا كان لديك أي سؤال، يُرجى الانتقال إلى منتدى المطوّرين. إذا طرحت سؤالك، فمن المرجح أن تحصل على رد شامل في الوقت المناسب لأنه مليء بالمطورين الذين استخدموا Bluely لسنوات!

البحث عن النُسخ المكرّرة

قبل كتابة أي نوع من المشاكل، من المفيد دائمًا التحقق من وجود نوع مطابق. إذا كان الأمر كذلك، فهذا يوفر عليك بذل الجهد لكتابته بنفسك! لذلك قبل أن تبدأ في الكتابة، قم ببعض عمليات البحث عن التكرارات أو المشكلات ذات الصلة.

إذا وجدت مشكلة مطابقة، فقم بإبداء الإعجاب بها أو أضف تعليقًا يوضح أفكارك. هذا مهم بشكل خاص لتقارير الأخطاء وطلبات الميزات. إذا رأى المطورون أن المشكلة تحظى باهتمام كبير، فمن المرجح أن يتم العمل عليها!

الإبلاغ عن خطأ

هل تعتقد أنك اكتشفت خطأ؟ رائع! نحن نحب سماع تقارير الأخطاء لأننا نريد أن يكون هذا المشروع مستقرًا قدر الإمكان. فيما يلي بعض الخطوات التي يمكنك اتباعها للمساعدة في إصلاح الخطأ.

  1. البحث عن النُسخ المكرّرة
  2. جمع الأدلة
  3. تحديد مكان المشكلة
  4. تعزيز مشروع إعادة إنتاج قناتك
  5. اقتراح قضية
  6. اكتب مشكلتك.

جمع الأدلة

بشكل عام، كلما ازدادت المعلومات المتوفّرة عن الخطأ، كان ذلك أفضل. إليك بعض الأشياء التي قد ترغب في تقديمها:

  • يمكن أن تكون لقطات الشاشة أو ملفات GIF مفيدة جدًا إذا تسبّب الخطأ في حدوث مشكلة مرئية.
  • يكون نموذج الرمز مفيدًا إذا كان الخطأ يؤثر فقط في أنواع معيّنة من عمليات الحظر أو في إعدادات مساحات العمل.
  • إنّ موقع إلكتروني مستضاف هو موقع إلكتروني رائع إذا كنت تواجه مشكلة في إعادة إنتاج الخطأ خارج بيئتك المحددة.

تحديد مكان المشكلة

نجد بين المكتبة الأساسية والمكوّنات الإضافية والأمثلة والدروس التطبيقية حول الترميز، لدينا الكثير من رموز Blockly. يمكنك مساعدتنا من خلال إخبارنا بمكان المشكلة بالضبط.

إذا كانت المشكلة جوهرية، فأي مكون؟ على سبيل المثال، قد تكون هناك مشكلة في مربع الأدوات أو في عناصر التحكم في التكبير/التصغير أو في كتل المكتبة. كن محددًا قدر الإمكان.

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

احصل على مظهر حصان متعدّد الألوان

لا يكون الخطأ قابلاً للإصلاح إلا إذا كان قابلاً للتكرار، لذا قبل إرسال المشكلة، تأكّد من أنّك تملك طريقة قوية لإثبات الخطأ.

يُفترض أن تحصل في النهاية على قائمة مرقّمة من الخطوات توضّح للمطوّر كيفية إعادة إنتاج الخطأ. مثال:

  1. افتح الدرس التطبيقي حول الترميز X.
  2. انتقل إلى صفحة Y.
  3. قم بتشغيل مثال التعليمة البرمجية Z.
  4. لاحظ السلوك السيئ، الذي يبدو مثل W.

إذا كانت مشكلتك في Corely Core، جرِّب إعادة إظهارها في playground.

اقتراح قضية

إذا كنت تعتقد أنك تعرف سبب حدوث الخطأ، فقم بتضمين هذه المعلومات أيضًا. مرة أخرى، كن محددًا قدر الإمكان.

اكتب مشكلتك.

لقد حان الوقت لكتابة تقرير الخطأ. اختَر مستودعك:

تأكد من ملء جميع أقسام نموذج المشكلة، حتى الأقسام غير المفصّلة هنا.

نشكرك على اهتمامك بالإبلاغ عن خطأ، ونشكرك على كتابة المشكلة.

ما هي الخطوات التالية؟

  • يتم وضع علامة تلقائيًا على تقرير الأخطاء للتصنيف.
  • سيلقي ذلك العضو في فريق Blockly نظرة وربما يطرح أسئلة توضيحية. وسيضيفون أيضًا تسميات، والتي نستخدمها للحفاظ على تنظيم الأخطاء لدينا.
  • قد يتم وضع علامة "طلب مساعدة" بجانب المشكلة، وفي هذه الحالة يمكنك المطالبة بملكيتها وبدء العمل على حلّها.
  • قد يتم إسناد المشكلة إلى أحد أعضاء فريق حظر لحلّها.
  • قد يتم وضع علامة على المشكلة بمعلم رئيسي ربع سنوي، للإشارة إلى متى سيتم الانتهاء منها.
  • قد يتم وضع المشكلة في المعلم الرئيسي في Icebox، مما يعني أننا لا نعتزم العمل عليها في المستقبل القريب.
    • وقد يحدث ذلك للمشاكل ذات الترددات المنخفضة أو الأخطاء المرتبطة بالحلول البديلة المعروفة.
    • لا يزال بإمكانك العمل على حلّ مشاكل Iceboxed.
  • قد يتم وضع المشكلة في معلم قائمة مهام Bug Bash، مما يعني أنها غير عاجلة ولكننا لا نزال نريد إصلاحها.
    • في نهاية كل ربع سنة، يقضي الفريق بضعة أسابيع في العمل على الأخطاء التي تم سحبها من معلم قائمة مهام Bug Bash.
  • يمكن أن يتم نقل المشكلة من مجموعة كتلة معيّنة إلى عيّنات بشكل مجمّع (أو الاتجاه العكسي) إذا لزم الأمر.
  • قد يتم إغلاق المشكلة.

طلب ميزات

هل هناك ما تريد تغييره لتحسين تطبيق Blockly؟ هل لديك فكرة لمكون إضافي أو مثال أو درس تطبيقي حول الترميز؟ ربما يوجد بالفعل واحد يعجبك، وقد توصلت إلى طريقة لتحسينه. إذا كان الأمر كذلك، فقد أتيت إلى المكان المناسب! إليك خطوات لمساعدتك في إنشاء طلب ميزة رائع يلقى الردّ.

  1. البحث عن النُسخ المكرّرة
  2. الاطّلاع على المتطلبات
  3. جمع أفكارك
  4. كتابة طلب الميزة

الاطّلاع على المتطلبات

يسرّنا السماح لكل فكرة بدخول هذا المستودع. لكن للأسف، نحن بشر فقط، لذلك لدينا بعض الإرشادات المعمول بها بشأن أنواع الطلبات التي سنتابعها.

فيما يلي الإرشادات لكل فئة من الفئات المختلفة من المشروعات:

  • حظر أساسي
  • المكوّنات الإضافية
  • أمثلة: وضِّح كيفية استخدام ميزة واحدة أو اثنتين من ميزات حظر.
  • الدروس التطبيقية حول الترميز: وضِّح كيفية إكمال مهمة واحدة أو تنفيذ سلوك واحد.

لكن هذه ليست قواعد صعبة وسريعة. إنها تهدف فقط إلى منحك فكرة عما نبحث عنه قبل تخصيص وقت لإنشاء طلب الميزة.

إذا لم تكن متأكدًا مما إذا كان المحتوى مناسبًا أم لا، يمكنك نشره على منتديات مطوّري البرامج. وتذكر أنه حتى لو لم يتم قبول فكرتك، فلا نزال نريد منك إنشاءها كمكوّن إضافي أو برنامج تعليمي تابع لجهة خارجية!

جمع أفكارك

لا يلزم أن تكون فكرتك كاملة بنسبة 100% باستخدام رقائق ومخططات قبل المضي قدمًا في الإرسال، ولكن يجب أن يكون لديك فكرة قوية عما تبحث عنه. إليك بعض الأسئلة الجيدة التي يجب التفكير فيها قبل البدء في الكتابة:

  • لماذا أرغب في استخدام هذه الميزة؟
  • هل تحل هذه الميزة مشكلة ما؟
  • من هو الجمهور المستهدف لهذه الميزة؟
  • ما سبب الاستفادة من هذه الميزة؟
  • ما بعض الخيارات البديلة التي يمكنها تحقيق الشيء نفسه؟

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

اكتب طلب الميزة.

أنت الآن جاهز لكتابة طلب الميزة. اختَر مستودعك:

تأكد من ملء جميع أقسام نموذج المشكلة، حتى الأقسام غير المفصّلة هنا.

نشكرك على اهتمامك بإرسال طلب ميزة، ونتمنى لك وقتًا سعيدًا في كتابة المشكلة.

ما هي الخطوات التالية؟

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