تكرار السؤال: …
الإجابة المختصرة
الـnamed parameters تُمرر باسمها وتوضح النية، بينما positional optional تعتمد على ترتيبها ويمكن تحديد قيمة افتراضية لها.
الشرح
استخدم named parameters عندما تكون القراءة والتمييز أهم، خصوصًا مع أكثر من خيار اختياري. يمكن جعل named parameter مطلوبًا باستخدام required، ويمكن وضع قيمة افتراضية للـoptional positional أو named. تصميم التوقيع الجيد يقلل تمرير قيم في ترتيب يصعب مراجعته.
مثال بالكود
void greet(String name, {String punctuation = "!"}) {
print("Hello $name$punctuation");
}
greet("Dart", punctuation: ".");أخطاء شائعة
- اعتبار كل named parameter اختياريًا؛ required يغير ذلك.
- الإفراط في positional parameters يجعل استدعاء الدالة غير واضح.