Integrasi PHPStorm dan SonarQube
Kode Baik vs Kode Buruk
Sebagai engineer, kita tentu ingin mendapatkan instant feedback ketika ada kodingan yang berpotensi menimbulkan bug, kurang optimal, ataupun terlalu bertele-tele dan tidak mudah dibaca. Compiler (atau PHP interpreter) hanya bisa mendeteksi kesalahan sintaksis (benar atau salah), tapi tidak bisa mendeteksi kualitas kode (baik atau buruk).
Ada beberapa tools tambahan yang bisa dipakai untuk mendapatkan instant feedback sekaligus meningkatkan kualitas kode kita, salah satunya adalah sonarlint.
Kenapa Sonarlint
Artikel di bawah ini sudah cukup menjelaskan apa dan kenapa sonarlint:
https://blog.javan.co.id/cara-mudah-meningkatkan-kualitas-kode-menggunakan-sonar-37c6f8e0239b
Install Plugin Sonarlint
Instalasi Sonarlint untuk PHPStorm sudah dibahas di artikel berikut:
Setup SonarQube
SonarQube adalah versi self hosted bisa didapatkan secara gratis di https://www.sonarqube.org/downloads/. SonarQube berfungsi sebagai dashboard dan management tools untuk mengelola proyek-proyek yang perlu dianalisis.
Dengan mengintegrasikan sonarlint di PHPStorm dengan SonarQube, maka proses analisis kode bisa lebih “match”. Jadi jika ada isu terkait kode di dashboard SonarQube, maka akan muncul juga di PHPStorm, dan begitu juga sebaliknya*.
Untuk tim Javan, SonarQube bisa diakses di https://sonar.javan.co.id/.
Integrasi PHPStorm, Sonarlint dan SonarQube
Setup koneksi ke SonarQube
Buka menu Preferences — Tools — SonarLint, lalu tambah koneksi baru (icon “+”).
Pilih sonarqube, dan masukkan URL yang sesuai.
Anda akan diminta Token untuk otentikasi. Klik tombol “Create Token” dan Anda akan dibawa ke halaman https://sonar.javan.co.id/account/security.
Generate token baru, atau boleh menggunakan token yang lama jika sudah pernah membuat sebelumnya. Ada baiknya simpan token ini di catatan pribadi Anda, karena setelah digenerate kita tidak akan bisa melihatnya lagi.
Isikan Token tersebut ke langkah sebelumnya. Seharusnya SonarQube sudah berhasil terintegrasi dengan PHPStorm.
Selanjutnya masuk ke submenu Project Settings lalu isikan Connection dan Project sesuai kebutuhan.
Selesai, plugin Sonarlint di PHPStorm sekarang sudah terkoneksi dengan SonarQube.
Daftar “issue” bisa dilihat di Tool Windows — SonarLint atau Problems.
Untuk memudahkan show/hide Tool Windows, silakan atur sendiri shortcut sesuai selera di Preferences — Keymap — Tool Windows.
Broken Windows
SelamatAnda telah selangkah lebih maju untuk menuju engineer kelas dunia. Setelah berhasil mengintegrasikan PHPStorm — Sonarlint — SonarQube, langkah berikutnya yang tidak kalah penting adalah memastikan tidak ada satupun isu di file yang kita buat. Satu defect kecil di suatu file, bisa merembet dengan cepat ke seluruh folder aplikasi. Jangan jadi penyebab “broken windows”.
Selamat mencoba!
*Pada prakteknya tidak semua isu yang muncul di SonarQube akan muncul di PHPStorm, namun jumlahnya tidak terlalu banyak.