Langsung ke konten utama

Laravel & Programming Best Practice

 Ini adalah beberapa best practice dalam mengerjakan project Laravel atau programming pada umumnya.

Nama konfigurasi haruslah positif dan bernilai negatif. 

Sebuah konfigurasi atau setting atau option haruslah memiliki nama positif dan memiliki nilai negatif. Maksudnya apa? Karena konfigurasi, setting, atau option hanyalah opsional. Harus bisa dipilih oleh user jika dia mau.

Contohnya "enable_tax" = false. Disini kita bisa lihat enable_tax adalah nama yang positif, enable berarti mengaktifkan dari yang tidak aktif menjadi aktif. Dalam valuenya memiliki nilai false seperti yang sudah dibilang diatas, option bersifat opsional dan seharusnya memiliki nilai negatif. Maknanya fitur "Enable Tax" akan bernilai true jika user benar-benar menginginkannya menjadi true.

Default Value pada Model

Dalam model dalam laravel, pastikan setiap kolom, attribut, dan variable lain memiliki default value. Jangan ada null diantara kita. Belajar dari Kotlin, Dart, dan Java. Null dapat menyebabkan kasus bug sejuta dollar.

Pastikan Return Dipanggil Dalam If - Else

Jika anda terlalu banyak menggunakan if else, else if, dst pada sebuah fungsi yang memiliki return. Pastikan return dipanggil. Beberapa bahasa pemrograman ada yang otomatis menjadikan value yang di return menjadi null jika tidak dipanggil. Tapi ada juga yang tidak dan dapat menyebabkan error.

Perubahan Data Tabel Model, Update Juga Factory dan Seedernya

Biasakan selalu mengupdate factory dan seeder setelah melakukan migrasi pada tabel model. Jadinya saat testing tidak terjadi error.

Komentar

Postingan populer dari blog ini

Android Modular

Keuntungan modularisasi Kode bisa dishare ke project lain (helpers, dll) Modul `:core` Modul `:core` biasanya diinclude sebagai dependency oleh modul lain. Modul `:core` berisi dependency yang dibutuhkan oleh modul lain misal: `Retrofit`, `Gson`. Struktur `:core` inti dari app `:features` `:feature-a` fitur A activity A1 activity A2 layout AndroidManifest `:feature-b` fitur B `:helpers` kumpulan helpers yang bisa dishare ke project lain `:models` semua model `:api` data repository / Rest API Referensi  Modul `:core` : https://medium.com/mindorks/writing-a-modular-project-on-android-304f3b09cb37 .     Catatan: artikel ini memiliki struktur dimana model berada di dalam satu modul.

Vue: Mengatasi peringatan: You are using the runtime-only build of Vue where the template compiler is not available

Ini adalah error yang terjadi karena Vue memiliki beberapa versi: Runtime saja (untuk menjalankan Vue.js) dan Runtime+Template compiler (untuk menjalankan vue.js + mengkompilasi file template .vue). Untuk lebih lengkapnya kenapa ini terjadi, lihat  https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only Untuk mengatasinya, tambahkan file "vue.config.js" jika belum ada di root project anda. Masukkan kode berikut: module .exports = { runtimeCompiler: true } Mulai lagi npm run serve setelah kode dimasukkan.

Troubleshooting: PHPStorm Tidak Dapat Terhubung Ke Database (MySQL)

PHPStorm memiliki fitur untuk dapat terhubung dengan berbagai macam tipe database, salah satunya MySQL. Tapi di beberapa versi terbaru, PHPStorm tidak dapat terhubung dengan database dan tidak memberikan pesan error berarti. Biasanya, ini karena sistem berada di zona waktu yang tidak standar, misal menggunakan WIB di wilayah indonesia. Untuk itu, kita perlu mengubah sebuah pengaturan sebelum terhubung. Pada dialog Data Sources and Drivers, setelah mengisi kolom host, username, password, dan nama database, masuk ke tab advance, dan cari pengaturan "timezone", isi nilainya dengan "Asia/Jakarta" atau "Asia/Makassar" atau "Asia/Jayapura" sesuai dengan lokasi anda berada saat ini.