تصحيح شكل الكود "linting" والتطبيق مع دارت "dart" 💡


المحتوي :

  • يعني ايه linting
  • الفائده من استخدامه
  • المكتبات الي هتساعدك في الموضوع

لو حابب تعرف الموضوع من المصدر الرسمي : Customizing static analysis

يعني ايه linting

لغه يعني " الفحص " والمقصود هنا فحص الكود الي انت كتبته علشان يخليك تكتب الكود باحسن طريقه بالاضافه انه ممكن ينبهك لبعض المشاكل في الكود 
من بعض الاستخدامات مثلا 

هنا مثلا التنبية ده هيظهر بعد استخدام مكتبة من مكتبات ال linting والهدف منه انه بيقولك انت دلوقتي عندك متغير final يعني لازم ياخد قيمة وانت ادتلو قيمتة ولما اخد القيمه عرف منها نوع المتغير ايه بما اني اديتو String ففهم ان المتغير ده من نوع String وهيفضل دايما ثابت انو من نوع String وقيمته ahmed فاستخدامك لكلمه String في الكود ملهوش لازمه نهائي هنا فالاحسن تشيلها !
 ده ابسط مثال لموضوع ال linting !

الفائده من استخدامه 

  • تقيل من احتمالية وجود اخطاء في الكود 
  • كود افضل واسهل في القرائة
  • المحافظة علي المعايير القياسية في الكود ( code style guideline )
  • شكل الكود كانو من شخص واحد ( الكل بيكتب بنفس المعايير ومحافظ علي نفس الشكل (style)
ودول علي سبيل المثال 

طب استخدم الموضوع ده ازاي مع دارت  ؟ (وفلاتر طبعا بما انها عباره عن كود دارت )
تقدر تعمل بنفسك ملف الــ analysis_options.yaml في ال root بتاع البروجكت  (جنب ملف ال pubspec.yaml) وتحط فيه القواعد الي هتكون ال style الي الكل هيمشي عليه في المشروع
الموضوع هناء بدائي ويفترض ان شخص عنده خبره كبيره يحط القواعد دي ويظبط الملف ده كويس

طب لو لسه خبرتك مش قد كدا ومحتاج تلتزم ب style معين حد خبير عملو ؟ 
تقدر تسخدم مكاتب متخصصه للموضوع ده زي 
  • pedantic  ( الاولي في الترتيب والمستخدمه من قبل مهندسين جوجل مع دارت ).

  • lint ( القواعد فيها اشد من الاولي ومدعومه من مجتمع دارت وفلاتر ) .

  • في مكتبات تانية غيرهم بس دول اشهر اتنين .
بعد ماتقرا عنهم وتحدد انت هتستخدم اي مكتبة منهم كل الي عليك تستخدم المكتبة في ال pubspec

وكل مكتبة ليها path معين تحطه في ملف ال analysis_options.yaml الي لسه متكلم عنو فوق ويبقي بالشكل ده 
الملخص :
  • اعمل linting مش هتخسر حاجه 
  • اقرا اكثر عن المكتبة الي هتستخدمها مش مجرد تركيب بس 
  • الموضوع مش متعلق بدارت وفلاتر بس موجود في كل اللغات 
  • تقدر تعدل علي قواعد المكتبة الي استخدمتها 
وكدا الموضوع تم بحمد الله 


المشاركات الشائعة من هذه المدونة

اختبار الكود واجمالي نسبة تغطية الاختبارات - unit testing and test coverage in Arabic

يعني ايه api والتعامل معاها والمصطلحات ومثال بدارت للمبتدئين ( منين بيودي علي فين )

bloc ! امتي تحتاجه - المميزات والعيوب - الاساسيات - مثال