"Kode IF-ELSE yang berantakan adalah mimpi buruk maintenance — dan kamu yang menulis kode itu 6 bulan lalu tidak akan ingat logikanya!"
Masalah
Pain Point
Nested if-else yang terlalu dalam (arrow anti-pattern) membuat kode sulit dibaca, sulit di-test, dan sulit di-maintain. Developer menghabiskan lebih banyak waktu memahami alur logika daripada menulis fitur baru. Ditambah, banyak yang belum tahu match expression di PHP 8 yang jauh lebih aman dari switch.
Solusi
Pendekatan Benar
Terapkan early return untuk meratakan nested kondisi. Gunakan match expression sebagai pengganti switch yang lebih aman dan ekspresif. Pilih jenis loop yang tepat untuk setiap kasus penggunaan.
Masalah Klasik: Nested IF-ELSE
Semakin banyak kondisi, semakin dalam indentasi — kode jadi susah dibaca dan susah diikuti alurnya.
❌ Kode Bermasalah
function cekAkses($user) {
if ($user) {
if ($user['aktif']) {
if ($user['role']
=== 'admin') {
return 'akses penuh';
} else {
return 'akses terbatas';
}
} else {
return 'akun nonaktif';
}
} else {
return 'tidak login';
}
}
✓ Early Return
function cekAkses($user) {
if (!$user) {
return 'tidak login';
}
if (!$user['aktif']) {
return 'akun nonaktif';
}
if ($user['role']
=== 'admin') {
return 'akses penuh';
}
return 'akses terbatas';
}