Null Safety في Dart: كل ما تحتاج معرفته لكتابة كود خالٍ من الأخطاء.

 Null Safety في Dart: كل ما تحتاج معرفته لكتابة كود خالٍ من الأخطاء.

منع حدوث أخطاء NullPointerException: قبل Null Safety، كان من الممكن حدوث NullPointerException عندما تحاول الوصول إلى خاصية (attribute) أو استدعاء دالة (function) لمتغير فارغ. بينما تمنع Null Safety حدوث هذه الأخطاء في إنشاء تطبيقات الجوال و برمجة وتطوير المواقع الالكترونية في Flutter , دعم مكتبات قوية: تدعم العديد من المكتبات القوية Null Safety، مثل Flutter و Firebase و AngularDart.


Null Safety في Dart: كل ما تحتاج معرفته لكتابة كود خالٍ من الأخطاء.

تحديث Dart v2.12 : نقلة جديدة في أسلوب كتابة الكود

مع تحديث Dart v2.12، ظهرت ميزة جديدة تُعرف باسم Null Safety. بينما يجدها بعض المطورين صعبة، إلا أنها تلعب دورًا هامًا في حماية المطور من البيانات الفارغة (null).


ما هي Null Safety ؟

Null Safety هي أسلوب جديد لكتابة الكود يُركز على التعامل مع البيانات التي قد تكون فارغة. يُتيح لك هذا الأسلوب التحكم الكامل في كيفية تخزين البيانات، سواء كانت فارغة أو غير فارغة.


مشاكل البيانات الفارغة قبل Null Safety:

قبل Dart v2.12، كانت البيانات الفارغة تُسبب مشاكل للمطورين. حيث يمكن أن تُرجع المتغيرات، حتى تلك التي لا يجب أن تكون فارغة، قيمًا فارغة. أدى ذلك إلى حدوث أخطاء يصعب اكتشافها.


حلول Null Safety:

للتغلب على هذه المشكلة، قدمت Null Safety مجموعة من المشغلين (operators) والكلمات المفتاحية (keywords) المدمجة في اللغة:


  1. ? operator: يُستخدم للإشارة إلى أن المتغير يمكن أن يقبل قيمًا فارغة.
  2. ?. operator: يُستخدم للوصول إلى خصائص (attributes) المتغيرات الفارغة دون حدوث أخطاء.
  3. ! operator: يُستخدم للتأكد من أن المتغير لا يحتوي على قيمة فارغة قبل استخدامه.
  4. late keyword: يُستخدم لتأخير تعيين قيمة للمتغير حتى وقت لاحق.
  5. required keyword: يُستخدم لجعل بعض الوسائط (parameters) إلزامية في الدوال (functions).


أمثلة على استخدام Null Safety:


// تعريف متغير nullable
String? name;

// الوصول إلى خاصية متغير nullable
name?.toUpperCase();

// التأكد من أن المتغير غير فارغ قبل استخدامه
name!.length;

// تأخير تعيين قيمة للمتغير
late String name;

// جعل الوسيط إلزاميًا
const Person({required this.name});


فوائد استخدام Null Safety:

تقليل الأخطاء: تمنع Null Safety حدوث أخطاء ناتجة عن البيانات الفارغة.

تحسين قابلية قراءة الكود: يجعل Null Safety الكود أكثر وضوحًا وسهل الفهم.

تحسين الأمان: يوفر Null Safety حماية أفضل ضد الأخطاء البرمجية.


Null Safety هي ميزة جديدة في Dart تُساعد المطورين على كتابة كود أكثر أمانًا وقابلية للقراءة. بينما قد تبدو صعبة في البداية، إلا أنها توفر العديد من الفوائد على المدى الطويل.

تعليقات