01 · نصوغ المشكلة
نصف سلوكًا واحدًا ومن يتضرر منه، ثم نسجّل الرابط أو الملف والأمر وتاريخ القياس. نفرّق بين عيب أعدنا إنتاجه، ملاحظة مصدر، وفرضية لم تُختبر.
منهج البحث
نبدأ بما يؤلم المستخدم، وننتهي بما يمكن إعادة قياسه ونشره.
نصف سلوكًا واحدًا ومن يتضرر منه، ثم نسجّل الرابط أو الملف والأمر وتاريخ القياس. نفرّق بين عيب أعدنا إنتاجه، ملاحظة مصدر، وفرضية لم تُختبر.
عالٍ: تعطل مهمة أساسية، فقد بيانات أو حاجز وصول. متوسط: احتكاك متكرر أو أداء زائد مثبت. منخفض: تحسين اكتشاف أو وضوح. نراعي عدد المتأثرين، الثقة بالدليل، كلفة التجربة وقابلية التراجع؛ ولا نخلط حجم ملف مع زمن تجربة المستخدم.
نكتب فرضية قابلة للدحض ومعيار نجاح قبل التغيير. نقيس خط أساس، ثم نكرر بنفس الجهاز والشبكة والمحتوى قدر الإمكان. نسجّل النتائج السلبية والتذبذب والطلبات الفاشلة، ولا ندّعي حلّ المشكلة حتى نجتاز معيار القبول.
نفضّل MIT وApache-2.0، ونراجع ترخيص الإصدار والتبعيات قبل الدمج. GPL فقط داخل مستودع GPL متوافق. نبقي LICENSE وNOTICE وإشعارات الحقوق، ونذكر المصدر والتعديلات. ترخيص المكتبة لا يمنح حقوق المحتوى أو العلامة أو الإضافات التجارية.
لا نجمع بيانات شخصية لتفسير مشكلة يمكن قياسها دونها. نفحص ببيانات اصطناعية وحسابات اختبار عند الحاجة، وننقّح الرموز والأسرار ومعرّفات المستخدمين قبل النشر. ملفات التدقيق هنا من صفحات عامة وبسياقات جديدة، ولا نرسل سجلات الاستخدام تلقائيًا.
السجل يوضح المشكلة والدليل والفرضية والتجربة والنتيجة. الحالة مفتوحة حتى يبدأ اختبار الحل، ثم قيد الاختبار، ثم محلولة بنتيجة موثقة. ننشر تحسينات المصادر المفتوحة مع اختبار مفيد وملاحظات توافق.