Kualitas kode, alat untuk membantu

Selamat siang, Habrovit tersayang!



Baru-baru ini, di komunitas PHP, saya sering mendengar diskusi tentang tinjauan kode, saya memutuskan untuk berkontribusi, saya ingin berbicara tentang kemungkinan yang dimaksudkan untuk menyederhanakan hidup Anda dan meningkatkan kualitas kode dalam proyek Anda. Ini relevan tidak hanya untuk PHP, alat serupa yang dijelaskan di sini ada juga untuk bahasa pemrograman lain, misalnya, saya mempelajarinya ketika saya berpartisipasi dalam sebuah proyek di NodeJS.



Saya ingin berbagi alat yang dirancang untuk meningkatkan kualitas kode, menemukan kesalahan sintaksis, membawa semuanya ke satu gaya kode, dll.



Pra-komit



Jika Anda mengetik "pra-komit php" di mesin pencari, itu akan memberi Anda beberapa skrip siap pakai yang menganalisis kode tertulis. Untuk git, skrip harus ditempatkan di folder ".git / hooks /", dan kemudian setiap kali Anda komit akan berjalan dan jika kesalahan ditemukan, itu tidak akan memungkinkan Anda untuk mendorong kode ke dalam repositori. Beberapa IDE memiliki plugin terpisah yang melakukan hal yang sama, tetapi bagaimana jika Anda memiliki tim besar dan semua orang menggunakan editor yang berbeda? Dan lebih mudah untuk mengkonfigurasi skrip ini sekali dengan mengunggahnya ke repositori Anda daripada mengkonfigurasi IDE-nya untuk setiap pengembang secara terpisah. Yang lebih penting, dalam skrip ini Anda dapat menambahkan alat lain yang Anda gunakan di tim Anda, seperti penganalisa statis (misalnya phpstan), dan / atau pengujian unit (misalnya phpunit )



Alat untuk membantu meningkatkan kualitas kode



php -l (hanya sintaksis) (lint) adalah pemeriksa sintaks yang dibangun ke dalam inti PHP.



php-cs-fixer (PHP Coding Standards Fixer) - Memperbaiki kode Anda ke PSR-1, PSR-2, dll., atau komunitas lain seperti Symfony. Anda juga dapat menentukan gaya (tim) Anda melalui konfigurasi. Itu seluruh tim Anda akan memiliki gaya kode yang sama.



php-cs + php-cbf (PHP CodeSniffer + PHP Code Beautifier) โ€‹โ€‹- Ini adalah satu set dua skrip PHP; Skrip phpcs utama, yang mengekstrak file PHP, JavaScript dan CSS untuk mendeteksi pelanggaran standar pengkodean tertentu, dan skrip phpcbf kedua secara otomatis memperbaiki pelanggaran koding yang umum. Alat serupa dengan php-cs-fixer.



php-md (Detektor Pesan PHP) - Proyek sampinganPHP Depend , yang bertujuan untuk menjadi setara dengan PHP dari alat PMD Java yang terkenal. Mengambil basis kode sumber PHP yang diberikan dan mencari beberapa masalah potensial dalam sumber ini. Masalah-masalah ini dapat berupa kesalahan sintaksis, kode suboptimal, ekspresi yang terlalu kompleks, parameter / metode / properti yang tidak digunakan.



php-cpd (PHP Copy / Paste Detector) - Copy / paste detector untuk kode PHP. Itu menemukan blok kode yang sama di berbagai bagian aplikasi yang dapat dipindahkan ke fungsi / metode terpisah.



Anda dapat menyelam lebih dalam ke tinjauan kode otomatis dan Anda mungkin akan menemukan banyak alat menarik lainnya.



Keluaran



Dengan menggunakan alat yang tersedia di dunia pengembangan, Anda dapat mengotomatisasi banyak proses rutin untuk memeriksa kode, yang akan meningkatkan kualitasnya dengan urutan besarnya (karena kami mengecualikan faktor manusia). Untuk kepercayaan yang lebih besar dalam penggunaan alat-alat ini oleh seluruh tim, Anda dapat menyuntikkannya ke dalam skrip pra-komit yang dijalankan sebelum komit dibuat dalam sistem kontrol sumber Anda.



All Articles