التعليقات التوضيحية المضمّنة: override وdeprecated
إيصال النية إلى الأدوات وأعضاء الفريق
التعليقات التوضيحية المضمّنة: override وdeprecated درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.
ماهيّة التعليقات التوضيحية
الـ annotation هي بيانات وصفية ترفقونها بالكود باستخدام الرمز @. وهي لا تُنفّذ، بل تُعلم الأدوات والمحلل وزملاءكم. 🏷️
صيغة @
تضعون annotation في السطر الذي يسبق التصريح مباشرة. وتخبر البادئة @ Dart بأن هذا الرمز بيانات وصفية وليس تعبيرًا عاديًا.
@override
String toString() => 'Cat';تعرّفوا إلى @override
توضح annotation @override أن طريقة ما تستبدل عمدًا طريقةً موروثة من صنف أب أو واجهة. وهي توثّق مقصدكم بوضوح.
class Dog extends Animal {
@override
void speak() => print('Woof');
}لماذا تساعد @override؟
إذا أخطأتم في تهجئة الطريقة أو تغيّر توقيعها، يحذركم المحلل. وهكذا تحوّل @override الأخطاء الإملائية الصامتة إلى أخطاء مبكرة وواضحة.
تعرّفوا إلى @deprecated
تحدد annotation @deprecated أن واجهة برمجية ما قديمة. ويستمر الكود الذي يستخدمها في العمل، لكن المحلل يعرض تحذيرًا يتضمن خطًا يتوسط النص. ⚠️
@deprecated
void oldLogin() {}إهمال مع ذكر السبب
استخدموا @Deprecated مع رسالة لتوجيه المستدعين نحو البديل. ويظهر النص في تلميحات الأدوات وتحذيرات المحرر.
@Deprecated('Use signIn() instead')
void login() {}تقبل التعليقات التوضيحية الوسائط
بعض التعليقات التوضيحية هي استدعاءات لمنشئات، ولذلك تقبل وسائط بين قوسين. وتُعد صيغة @Deprecated('...') مثالًا رأيتموه للتو.
تعرّفوا إلى @pragma
تمرّر annotation @pragma تلميحات إلى مترجم Dart أو وقت التشغيل. وهي متقدمة، لكن من المفيد التعرف إليها عند قراءة كود المكتبات.
@pragma('vm:entry-point')
void handler() {}التعليقات التوضيحية لا تُنفّذ
تذكروا أن التعليقات التوضيحية تسميات سلبية. فهي لا تُنفّذ من تلقاء نفسها أبدًا، بل تقرأ قيمتها الأدوات أو المحلل أو مولدات الكود.
مواضع وضعها
يمكنكم إضافة تعليقات توضيحية إلى classes والطرق والحقول والوسائط وغير ذلك. ويحدد كل تعليق توضيحي الأهداف التي يسمح بها عند تعريفه.
@deprecated
class LegacyService {}تكديس التعليقات التوضيحية
يمكنكم تكديس عدة تعليقات توضيحية على تصريح واحد، بحيث يوضع كل منها في سطر مستقل. ولا يغير الترتيب السلوك، لذا اكتبوها من أجل سهولة القراءة.
@override
@deprecated
void render() {}تحقق سريع
اختاروا annotation التي تشير إلى أن طريقة ما تستبدل طريقةً موروثة.
مراجعة
تعرّفتم إلى ثلاث تعليقات توضيحية مضمّنة: @override للتعبير عن القصد، و@deprecated للتحذيرات، و@pragma لتلميحات المترجم. وكلها بيانات وصفية سلبية. 🎉
تعلم Dart مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «التعليقات التوضيحية المضمّنة: override وdeprecated» مجاني؟
نعم — نص درس «التعليقات التوضيحية المضمّنة: override وdeprecated» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.
ماذا ستتعلم في «التعليقات التوضيحية المضمّنة: override وdeprecated»؟
إيصال النية إلى الأدوات وأعضاء الفريق تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟
لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «التعليقات التوضيحية المضمّنة: override وdeprecated»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟
نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التعليقات التوضيحية المضمّنة: override وdeprecated
- كتابة التعليقات التوضيحية المخصصة
- توليد الشيفرة باستخدام build_runner
- json_serializable عمليًا