تصحيح شكل الكود "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 مش هتخسر حاجه
- اقرا اكثر عن المكتبة الي هتستخدمها مش مجرد تركيب بس
- الموضوع مش متعلق بدارت وفلاتر بس موجود في كل اللغات
- تقدر تعدل علي قواعد المكتبة الي استخدمتها
وكدا الموضوع تم بحمد الله