Penggunaan Standar Kode
Standar kode adalah kumpulan aturan dan kesepakatan yang digunakan saat menulis kode sumber dalam bahasa pemrograman tertentu. Menggunakan standar kode memberikan beberapa keuntungan, seperti:
- Memberikan penampilan seragam pada kode yang ditulis oleh programmer yang berbeda.
- Meningkatkan keterbacaan dan kemudahan pemeliharaan kode serta mengurangi kompleksitas.
- Membantu dalam penggunaan ulang kode dan memudahkan mendeteksi kesalahan.
- Mendorong praktik pemrograman yang baik dan meningkatkan efisiensi para programmer.
Salah satu standar kode PHP yang paling sering digunakan adalah PSR-2. Ini adalah standar yang ditetapkan oleh PHP-FIG (PHP Framework Interop Group, informasi lebih lanjut tentang PSR-2 dapat ditemukan di https://www.php-fig.org/psr/psr-2/. Beberapa alat membantu para programmer untuk secara otomatis memeriksa kode mereka terhadap standar kode ini. Dalam buku ini, kita akan menggunakan PHP_CodeSniffer, yang akan dijelaskan selanjutnya.
Pengenalan PHP_CodeSniffer
PHP_CodeSniffer adalah seperangkat dua skrip PHP. Skrip phpcs menguraikan berkas PHP, JavaScript, dan CSS untuk mendeteksi pelanggaran berdasarkan standar kode yang ditentukan. Skrip phpcbf secara otomatis memperbaiki pelanggaran standar kode. PHP_CodeSniffer adalah alat pengembangan yang penting yang memastikan kode Anda tetap bersih dan konsisten. Informasi lebih lanjut tentang PHP_CodeSniffer dapat ditemukan di sini: https://github.com/squizlabs/PHP_CodeSniffer.
Pemasangan dan konfigurasi PHP_CodeSniffer
Di Terminal, masuk ke direktori proyek, dan jalankan perintah berikut:
```composer require --dev squizlabs/php_codesniffer```
Perintah sebelumnya menginstal pustaka PHP_CodeSniffer di berkas `composer.json` kita, yang mengunduh dan mengekstrak berkas-berkas pustaka di folder vendor.
Kita akan menerapkan konfigurasi cepat PHP_CodeSniffer. Di direktori utama proyek, buat berkas baru `phpcs.xml` dan isi dengan kode berikut.
```<?xml version="1.0"?><ruleset name="PHP_CodeSniffer"><description>Standar kode untuk proyek Toko Online</description><rule ref="PSR2"/><file>app/</file><file>config/</file><file>database/</file><file>routes/</file><exclude-pattern>*/migrations/*</exclude-pattern></ruleset>```
Berkas ini menetapkan bahwa PHP_CodeSniffer akan menggunakan PSR-2 sebagai standar gaya kode. Ini juga mendefinisikan bahwa saat kita menjalankan PHP_CodeSniffer, itu akan menemukan kesalahan di folder `app/*`, `config/*`, `database/*`, dan `routes/*`. Kita mengecualikan lokasi yang mencakup folder migrasi.
Menjalankan PHP_CodeSniffer
Di Terminal, masuk ke direktori proyek, dan jalankan perintah berikut:
```./vendor/bin/phpcs```
Perintah sebelumnya menjalankan PHP_CodeSniffer berdasarkan konfigurasi khusus yang didefinisikan di berkas `phpcs.xml` (lihat Gambar ). Kasus Kita menunjukkan 17 kesalahan, semuanya dengan tanda "X", yang berarti bahwa PHP_CodeSniffer dapat menangani dan memperbaikinya (jika Anda menginginkannya). Beberapa kesalahan terkait dengan spasi, indentasi, dan aturan yang ditentukan dalam panduan gaya kode PSR2. Sebagai contoh, ada baris kosong yang mengganggu di akhir metode about HomeController (sebelum kurung kurawal penutup). Jadi, PHP_CodeSniffer menandainya sebagai kesalahan..
Menjalankan PHP CodeSniffer.
Untuk memperbaikinya secara otomatis, kita perlu menjalankan berkas phpcbf PHP_CodeSniffer dengan perintah berikut (lihat Gambar).
```./vendor/bin/phpcbf```
Setelah itu, itu menampilkan kesalahan yang diperbaiki. Strategi ini lebih baik daripada perbaikan manual. Untuk sisa buku ini, kita akan menggunakan PHP_CodeSniffer untuk meningkatkan kualitas kode.
Memperbaiki kesalahan gaya dengan PHP CodeSniffer.
Catatan Akhir
• Ada alat lain yang dapat Anda gunakan untuk memperluas kemampuan PHP_CodeSniffer. Sebagai contoh, Larastan. Larastan adalah alat analisis statis untuk Proyek Laravel (https://github.com/nunomaduro/larastan), alat ini bahkan menemukan bug dalam kode Anda tanpa menjalankannya.
• PHP_CodeSniffer tidak berfungsi dengan baik dengan berkas blade. Sebuah plugin pemformat Visual Studio Code bernama Format HTML in PHP dapat membantu Anda memformat tampilan Blade Anda.
• PHP_CodeSniffer tidak secara otomatis memperbaiki semua kesalahan. Sebagai contoh, ada standar penggunaan gaya penamaan camelCase untuk menamai metode. Jika Anda mengubah metode about HomeController menjadi About, PHP_CodeSniffer akan menandai kesalahan itu, tetapi tidak akan memperbaikinya secara otomatis. Anda harus memperbaiki kesalahan ini secara manual.
TIPS: Ada cerita bagus tentang "Teori Jendela Rusak" yang dijelaskan dalam buku (2019 - Thomas, D., & Hunt, A. - The Pragmatic Programmer: your journey to mastery). Anda dapat mencarinya di Google. Dari cerita itu, Kita ingin menyoroti tips berikutnya. Jangan biarkan "jendela rusak" (mis. desain buruk, keputusan yang salah, atau kode buruk) tidak diperbaiki. Perbaiki setiap satu segera setelah ditemukan. Tiga bab sebelumnya menunjukkan banyak jendela rusak, yang untungnya diperbaiki.
TIPS: Selalu gunakan alat standar kode, pemformat, alat analisis kode statis, atau bahkan kombinasi dari mereka dalam proyek Anda. Ini akan menghemat banyak waktu dan meningkatkan kualitas kode. Selain itu, Anda akan menemukan l
inter yang tersedia untuk sebagian besar bahasa pemrograman. Selain itu, sertakan aturan dalam dokumen aturan arsitektur Anda yang menyebutkan bahwa semua perubahan kode harus diverifikasi terlebih dahulu dengan menggunakan alat-alat ini. Anda bahkan dapat mengotomatiskan proses ini (dengan menggunakan pipeline atau strategi CI/CD). Namun, hal ini di luar cakupan buku ini. Anda dapat memeriksa artikel yang ditulis oleh Daniel untuk proyek Laravel 8 https://faun.pub/configure-laravel-8-for-ci-cd-with-jenkins-and-github-part-1-58b9be304292.
Tidak ada komentar:
Posting Komentar