Filter kolom dengan kemiripan kata

Contoh problem

Filter semua kota yang termasuk Jakarta, Bogor, Depok, Tangerang, dan Bekasi.

Solusi panjang

SELECT * FROM kota WHERE name ilike '%jakarta%';
SELECT * FROM kota WHERE name ilike '%bogor%';
...
SELECT * FROM kota WHERE name ilike '%bekasi%';

Ribet dan menyalahi kaidah Don’t Repeat Yourself. Harus kembali di-union agar mudah dilihat di satu tempat. Berikut solusi untuk problem dengan pola-pola seperti ini.

Solusi ringkas

SELECT
    *
FROM
    kota
WHERE
    LOWER(name)
    SIMILAR TO '%(jakarta|bogor|depok|bekasi|tangerang)%';

Ringkas. hasil langsung berkumpul di satu tempat.

Tak Mudah Memberi Nama

Memberi nama adalah persoalan berat. Begitu yang saya alami. Ketika menyusun kode program ada banyak hal yang perlu diberi nama. Konstanta, variabel, fungsi, prosedur, class, object, file, direktori, dan hal lainnya yang perlu memiliki identitas. Ada banyak panduan yang sudah ditulis oleh banyak programmer berpengalaman. Langkah yang mereka tunjukkan tentu saja baik dan berguna.Tetapi permasalahannya tidak lalu hilang. Bacalah dan pahami panduan dari berbagai sumber tentang memberi nama. Prakteknya, ketika sedang berhadapan dengan keputusan memberi sebuah nama, tetap saja tak mudah.

Continue reading “Tak Mudah Memberi Nama”

Return Early

Bila ada if di baris N dan letak else jauh dari N. Dan if elsenya bersarang begitu banyak. Sudah pasti ada yang tidak beres. format penulisan seperti ini istilahnya long nested if. Format ini setidaknya punya tiga efek negatif :

1. Membuat kode sulit difahami.
2. Kemungkinan bugs lebih tinggi.
3. Proses debug menjadi lebih lama.

Sebagai contoh mari amati kode berikut. Ide kode sangatlah sederhana: kirim sms bila nomer tujuan dan pesan sudah valid . Pastikan request berasal dari alamat IP yang diizinkan. Selainnya tolak dan berikan pesan error.

Continue reading “Return Early”