شرح المفهوم
في هذا الدرس، ستستكشف كيفية اختبار كود Rust من خلال سير عمل عملي ومناسب للمبتدئين. ستدأ من أساس بسيط، وتفحص السلوك المتوقع، وتستخدم فحوصات مستهدفة للتأكد من أن البرنامج يتعامل مع الحالات القياسية وحالات الحافة بشكل صحيح. ينصب التركيز على بناء الثقة بالاختبار أثناء كتابة كود Rust يحافظ على وضوح الملكية (ownership)، ويتعامل مع الأخطاء بشكل صريح (explicitly)، ويظل فعالاً من خلال التجريدات عديمة التكلفة (zero-cost abstractions). بحلول النهاية، يجب أن تكون قادرًا على وصف ما اختبرته، ولماذا تهم هذه الفحوصات، وكيف يحسن الاختبار الموثوقية. Lesson fingerprint: rust:Rust Beginner:Rust setup and cargo workflow:beginner-rust-setup-and-cargo-workflow-5:5.
أين تضع الكود
- عرّف متغيرات اللون والموضع في الأعلى.
- أنشئ منطق رسم الأشكال أو وضعها في المنتصف.
- اعرض الإخراج (طباعة، لوحة، SVG، أو كتلة منسقة) في النهاية.
مرجع الأوامر
- عدّل التنفيذ الأساسي وقارن النتائج.
- أعد الهيكلة مرة واحدة باستخدام ملكية واضحة (clear ownership)، وأخطاء صريحة (explicit errors)، وتجريدات عديمة التكلفة (zero-cost abstractions).
- اشرح كيف يدعم الكود في هذا الدرس مهارات اختبار Rust للمبتدئين.
- حدد حالة استخدام حقيقية حيث يكون نمط الاختبار هذا مهمًا.
دليل خطوة بخطوة
- أعد هيكلة الكود لتحسين قابليته للقراءة والصيانة.
- اختتم بقائمة تحقق قصيرة للدقة والوضوح.
- لخص هدف الدرس في جملة واحدة.
- تحقق من صحة البرنامج بحالة طبيعية واحدة وحالة حافة واحدة.
- اكتب الكود الأساسي يدويًا وقم بتشغيله دون تغييرات.
تمارين تطبيقية
- وسع الحل ليشمل سيناريو جديدًا يناسب سير عمل برمجي واقعي.
- أنشئ تقرير إخراج قصير يوضح الصحة.
- أضف سيناريو آخر يشدد على حالة حافة.
تحديات برمجية
- صمم نسخة أكثر قوة من السيناريو لهذا الدرس.
- طبق قاعدة جودة واحدة حول الملكية (ownership)، أو الأخطاء الصريحة (explicit errors)، أو التجريدات عديمة التكلفة (zero-cost abstractions) عبر جميع كتل الكود.
مهام تمرين صغيرة
- أعد تسمية المتغيرات أو الدوال لجعل غرضها أوضح.
- أضف شرط حماية (guard clause) واحدًا يمنع فشلاً محتملاً.
- قم بتحسين ذي معنى واحد وأعد تشغيل التحقق الخاص بك.
خطأ شائع
Mixing x and y axes or using wrong coordinate origin causes shapes to appear in unexpected places.
تحدٍ مصغّر من الواقع
Draw one square, one triangle, and one circle, then move X marker 2 steps right and 1 step down.