جودة الكود وأدوات للمساعدة

مساء الخير عزيزي هابروفيتس!



في الآونة الأخيرة ، في مجتمع PHP ، غالبًا ما أسمع مناقشات حول مراجعة الشفرة ، وقررت المساهمة ، وأريد التحدث عن الاحتمالات التي تهدف إلى تبسيط حياتك وتحسين جودة الشفرة في مشروعك. لا يتعلق الأمر فقط بـ PHP ، بل توجد أدوات مماثلة موصوفة هنا أيضًا للغات البرمجة الأخرى ، على سبيل المثال ، لقد تعلمت عنها عندما شاركت في مشروع على NodeJS.



أريد مشاركة الأدوات المصممة لتحسين جودة التعليمات البرمجية ، والعثور على أخطاء في بناء الجملة ، ونقل كل شيء إلى نمط رمز واحد ، وما إلى ذلك.



ما قبل ارتكاب



إذا قمت بكتابة "pre-prence php" في محرك البحث ، فسوف يمنحك العديد من البرامج النصية الجاهزة التي تحلل الشفرة المكتوبة. بالنسبة إلى git ، يجب وضع النص البرمجي في مجلد ".git / hooks /" ، ثم في كل مرة تقوم فيها بتشغيله ، وإذا تم العثور على أخطاء ، فلن يسمح لك ببساطة بدفع الرمز إلى المستودع. تحتوي بعض IDEs على مكونات إضافية منفصلة تفعل نفس الشيء ، ولكن ماذا لو كان لديك فريق كبير ويستخدم الجميع محررين مختلفين؟ ومن الأسهل تكوين هذا البرنامج النصي مرة واحدة عن طريق تحميله إلى المستودع الخاص بك بدلاً من تكوين IDE لكل مطور بشكل منفصل. ما هو أكثر أهمية ، في هذا البرنامج النصي ، يمكنك إضافة أي أدوات أخرى تستخدمها في فريقك ، مثل محلل ثابت (على سبيل المثال phpstan) و / أو اختبار الوحدة (على سبيل المثال phpunit )



أدوات للمساعدة في تحسين جودة التعليمات البرمجية



php -l (فحص بناء الجملة فقط (لينت)) هو مدقق بناء مدمج في قلب PHP.



php-cs-fixer ( مثبت معايير ترميز PHP) - يعمل على إصلاح التعليمات البرمجية الخاصة بك إلى PSR-1 أو PSR-2 وما إلى ذلك ، أو مجتمعات أخرى مثل Symfony. يمكنك أيضًا تحديد أسلوبك (الفريق) من خلال التكوين. أولئك. سيكون لفريقك بأكمله نفس نمط الكود.



php-cs + php- cbf (PHP CodeSniffer + PHP Code Beautifier) ​​- عبارة عن مجموعة من مخطوطين PHP ؛ البرنامج النصي الرئيسي لـ phpcs ، الذي يستخرج ملفات PHP و JavaScript و CSS للكشف عن انتهاكات معيار ترميز معين ، والبرنامج النصي الثاني phpcbf يعمل تلقائيًا على إصلاح انتهاكات الترميز الشائعة. أداة مشابهة لـ php-cs-fixer.



php-md (PHP Mess Detector) - مشروع جانبيPHP Depend ، الذي يهدف إلى أن يكون معادلاً لـ PHP لأداة Java PMD المعروفة. يأخذ قاعدة شفرة مصدر PHP معينة ويبحث عن العديد من المشاكل المحتملة في هذا المصدر. يمكن أن تكون هذه المشاكل مثل أخطاء بناء الجملة ، كود دون المستوى الأمثل ، تعبيرات معقدة للغاية ، معلمات / طرق / خصائص غير مستخدمة.



php-cpd (كاشف النسخ / اللصق PHP) - كاشف النسخ / اللصق لكود PHP. أولئك. يعثر على نفس الكتل البرمجية في أجزاء مختلفة من التطبيق يمكن نقلها إلى وظائف / طرق منفصلة.



يمكنك التعمق أكثر في مراجعة التعليمات البرمجية التلقائية ، وربما ستجد العديد من الأدوات الأخرى المثيرة للاهتمام.



انتاج |



باستخدام الأدوات المتاحة في عالم التطوير ، يمكنك أتمتة العديد من العمليات الروتينية لفحص التعليمات البرمجية ، والتي ستحسن جودتها بترتيب من الحجم (حيث نستبعد العامل البشري). لمزيد من الثقة في استخدام الفريق لهذه الأدوات ، يمكنك حقنها في نص برمجي مسبق يتم تشغيله قبل إنشاء الالتزام في نظام التحكم في المصدر الخاص بك.



All Articles