Kamu Tidak Butuh Terlalu Banyak ‘If’. Kamu Butuh Lebih Banyak Objek.

Mengatasi Kompleksitas Kode dengan Menghindari If-Else Berlebihan

Seringkali, basis kode menjadi sulit dikelola dan dipahami seiring bertambahnya kompleksitas kondisional. Penggunaan struktur kondisional if-else atau switch yang bertumpuk untuk menangani berbagai jenis atau state dapat membuat kode menjadi rentan kesalahan, sulit dibaca (readable), dan menantang untuk diperluas (extensible). Setiap kali ada kasus baru yang perlu ditangani, struktur kondisional yang ada harus diubah, meningkatkan risiko memperkenalkan bug.

Kekuatan Orientasi Objek sebagai Solusi

Daripada terus-menerus menambah atau memodifikasi struktur kondisional, pendekatan berorientasi objek (OOP) menawarkan alternatif yang jauh lebih elegan dan terukur. Inti dari solusi ini adalah pergeseran paradigma: alih-alih menanyakan “objek jenis apa ini?” (dengan if) lalu melakukan tindakan berdasarkan jawabannya, kita cukup memberitahu objek “lakukan tindakan ini!”. Objek itu sendirilah yang bertanggung jawab untuk mengetahui bagaimana melakukan tindakan tersebut berdasarkan state atau tipenya.

Menerapkan Polimorfisme dan Pola Desain

Pendekatan ini sangat bergantung pada prinsip polimorfisme dalam OOP. Polimorfisme memungkinkan objek yang berbeda merespons panggilan metode yang sama dengan implementasi yang spesifik untuk objek tersebut. Ini secara efektif menggantikan blok if-else atau switch yang panjang dengan panggilan metode tunggal pada objek. Pola desain umum seperti Strategy Pattern atau State Pattern sering digunakan untuk mengorganisir kode dengan cara ini, biasanya dengan memanfaatkan komposisi objek dan interface untuk mencapai fleksibilitas.

Manfaat Utama Pendekatan Berbasis Objek

Mengadopsi gaya kode yang memprioritaskan objek dan polimorfisme untuk menangani variasi perilaku menghasilkan basis kode yang jauh lebih bersih dan modular. Kode menjadi lebih mudah dipelihara (maintainable) karena logika yang terkait dengan perilaku tertentu dikapsulasi dalam objek yang relevan. Penambahan fungsionalitas atau state baru menjadi lebih sederhana: cukup buat objek baru yang mengimplementasikan interface yang diperlukan, tanpa perlu memodifikasi struktur kondisional yang sudah ada di banyak tempat. Ini secara signifikan meningkatkan extensibility dan mengurangi kompleksitas. Fokuslah pada penggunaan objek untuk menangani perilaku yang bervariasi, dan Anda akan menemukan kode yang lebih tangguh dan fleksibel.

BACA JUGA:  7 Alasan Kenapa Belajar Java di 2021 Masih Jadi Pilihan Tepat

Sumber: https://itnext.io/you-dont-need-more-ifs-you-need-more-objects-11ed62b70259?source=rss—-5b301f10ddcd—4