Skip to main content

Menulis Clean Code: Prinsip SOLID, KISS, dan Keterkaitannya

 Menulis Clean Code: Prinsip SOLID, KISS, dan Keterkaitannya

Prinsip SOLID, KISS, dan Keterkaitannya
Saat ini, kebutuhan untuk menulis kode yang mudah dibaca, dipahami, dan dipelihara semakin penting. Konsep Clean Code mengacu pada serangkaian prinsip dan praktik yang bertujuan untuk menciptakan kode berkualitas tinggi. Clean Code tidak hanya terlihat baik, tetapi juga lebih mudah untuk dikelola seiring berkembangnya proyek. Dalam artikel ini, kita akan membahas konsep Clean Code, prinsip-prinsip SOLID dan KISS, serta bagaimana semuanya berperan dalam menghasilkan kode yang bersih dan berkualitas.
Ilustrasi Clean Code

Apa Itu Clean Code?

Clean Code adalah filosofi dalam pengembangan perangkat lunak yang mendorong pembuatan kode yang:

  • Mudah dibaca dan dipahami oleh orang lain.
  • Mudah diuji dan dikembangkan lebih lanjut.
  • Mudah dimodifikasi tanpa merusak atau merombak besar-besaran kode yang ada.

Dengan fokus pada keterbacaan dan kesederhanaan, Clean Code berupaya untuk membuat kode lebih “bersih”, bebas dari redundansi, serta menjaga struktur kode yang konsisten dan terorganisir. Praktik Clean Code sangat bermanfaat bagi pengembang, karena kode yang bersih lebih cepat dipahami, lebih mudah dikelola, dan lebih tahan terhadap perubahan.

Prinsip-Prinsip SOLID: Fondasi Clean Code

Salah satu pilar utama dalam Clean Code adalah prinsip SOLID. SOLID merupakan singkatan dari lima prinsip yang dirancang untuk membantu pengembang menulis kode yang modular, fleksibel, dan bebas dari kerumitan yang tidak diperlukan. Berikut adalah penjelasan singkat tentang masing-masing prinsip dalam SOLID:

  1. Single Responsibility Principle (SRP): Setiap kelas atau modul harus memiliki satu tanggung jawab atau alasan untuk berubah. Ini membantu menjaga fokus dan kesederhanaan dari setiap bagian kode, yang juga membuat kode lebih mudah dimengerti. (Menulis Clean Code: Prinsip Single Responsibility Principle (SRP) pada SOLID)

  2. Open-Closed Principle (OCP): Kode sebaiknya terbuka untuk perluasan namun tertutup untuk modifikasi. Artinya, kita bisa menambahkan fitur baru tanpa harus mengubah kode yang sudah ada, yang meminimalkan risiko bug dan gangguan terhadap fungsi yang sudah stabil. (Menulis Clean Code Dengan Open Closed Principle)

  3. Liskov Substitution Principle (LSP): Kelas turunan harus bisa menggantikan kelas induknya tanpa mengubah perilaku yang diharapkan. Prinsip ini memastikan bahwa subclass berperilaku konsisten dengan superclass, sehingga kode lebih mudah dipahami dan diuji. (Prinsip Liskov Substitution Principle (LSP) Pada SOLID)

  4. Interface Segregation Principle (ISP): Pengguna kode tidak seharusnya bergantung pada antarmuka yang tidak mereka gunakan. Dengan ISP, kita menghindari ketergantungan yang tidak relevan, membuat antarmuka yang lebih kecil dan spesifik pada kebutuhan. (Menulis Clean dengan Interface Segregation Principle)

  5. Dependency Inversion Principle (DIP): Modul tingkat tinggi seharusnya bergantung pada abstraksi daripada implementasi konkret. DIP membantu kode menjadi lebih fleksibel dan modular, karena komponen-komponen tingkat tinggi tidak terikat pada detail implementasi tertentu. (Menulis Clean Code: Prinsip Dependency Inversion Principle (DIP) Pada SOLID)

Prinsip KISS: Menjaga Kode Tetap Sederhana

Selain SOLID, prinsip KISS (Keep It Simple, Stupid) juga berperan penting dalam Clean Code. Prinsip KISS menekankan bahwa kode sebaiknya tidak dibuat lebih rumit dari yang diperlukan. Kode yang rumit seringkali lebih sulit untuk dipahami dan rentan terhadap bug. Menjaga kode tetap sederhana dan fokus pada fungsionalitas utama membantu pengembang mengurangi kompleksitas yang tidak perlu.

Dengan KISS, kita berusaha untuk:

  • Menyederhanakan solusi dan menghindari pola desain yang berlebihan.
  • Mengurangi penggunaan logika yang kompleks dan kondisi bertingkat yang sulit diikuti.
  • Menjaga fokus pada fungsionalitas utama tanpa menambahkan fitur atau logika yang belum diperlukan.

Keterkaitan Antara SOLID, KISS, dan Clean Code

Ilustrasi KISS (Keep in simple solution / Keep it simple, stupid!)
Masing-masing prinsip SOLID dan KISS memiliki perannya masing-masing dalam Clean Code, tetapi mereka juga saling mendukung untuk mencapai tujuan utama: kode yang bersih, modular, dan mudah dipahami.

SOLID mendukung KISS: Dengan mematuhi SOLID, kita secara alami mengurangi kerumitan pada kode, yang sejalan dengan prinsip KISS. Misalnya, dengan memisahkan tanggung jawab (SRP) dan menjaga ketergantungan yang relevan (ISP), kita menjaga kode tetap sederhana dan mudah dipahami.

KISS mendukung SOLID: Saat berusaha menjaga kesederhanaan sesuai dengan prinsip KISS, kita cenderung mematuhi prinsip-prinsip SOLID secara alami. KISS mendorong kita untuk menghindari kompleksitas yang tidak perlu, yang berarti kita hanya akan membuat kelas dan antarmuka yang sesuai dengan fungsi spesifik, seperti yang diusulkan oleh SOLID.

DIP dan KISS: Dependency Inversion (DIP) memastikan bahwa modul tingkat tinggi tidak terikat pada implementasi konkret, yang membuat kode lebih modular dan fleksibel. Ini mendukung KISS karena kode modular lebih mudah dipahami dan diuji.

LSP dan KISS: Liskov Substitution Principle (LSP) menjaga agar subclass berperilaku konsisten dengan superclass-nya, membuat kode lebih mudah dipahami dan tanpa kejutan. Ini menjadikan kode lebih sederhana dan sesuai dengan KISS, karena perilaku kode mudah diprediksi.

Menulis kode yang bersih dan sederhana tidak hanya membantu dalam jangka pendek, tetapi juga membuat pengembangan lebih efisien di masa depan. Dengan mengikuti prinsip Clean Code, SOLID, dan KISS, kita dapat membangun kode yang fleksibel, mudah dipelihara, dan bebas dari kerumitan yang tidak perlu.

Penerapan SOLID dan KISS membawa kode yang lebih stabil, dapat diandalkan, dan mendukung pengembangan berkelanjutan. Dengan memahami dan mempraktikkan prinsip-prinsip ini, kita dapat menghasilkan kode yang lebih baik, tidak hanya untuk diri kita sendiri tetapi juga untuk tim dan pengembang masa depan yang akan bekerja pada kode tersebut. Clean Code adalah seni yang mengutamakan kualitas, dan dengan SOLID dan KISS, kita berada di jalur yang tepat untuk mencapai kode yang tidak hanya berfungsi, tetapi juga elegan.


Related Article:

1. Menulis clean code dengan prinsip solid dan kiss

2. Menulis Clean Code: Prinsip Single Responsibility Principle (SRP) pada SOLID

3. Menulis Clean Code Dengan Open Closed Principle 

4. Menulis Clean dengan Interface Segregation Principle

5. Menulis Clean Code: Prinsip Dependency Inversion Principle (DIP) Pada SOLID

6. Prinsip Liskov Substitution Principle (LSP) Pada SOLID

Comments

Popular posts from this blog

Numpang Kerja Remote dari Bandung Creative Hub

Semalam kemarin (09 Januari 2019) tidak sengaja kami sekeluarga lewat Bandung Digital Hub saat pulang dari Fish Wow Cheeseee  yang di Jl. Lombok. Bandung Digital Hub ini sendiri berlokasi tidak jauh dari dari tempat kami makan tersebut, yaitu berlokasi di Jl. Laswi No.7, Kacapiring, Batununggal, Kota Bandung, Jawa Barat 40271. Berhubung untuk bulan Januari 2019 ini sedang tidak masuk ke kantor maka saya putuskan untuk besoknya (hari ini 09 Januari 2019) nyoba untuk bekerja remote dari Bandung Digital Hub , apalagi istri yang kebetulan follower pak Ridwan Kamil di Instagram juga Facebook dan tampaknya pernah lihat ulasan mengenai tempat ini sehingga tampak antusias supaya saya datang ketempat ini ini dan mencoba bekerja dari gedung creative hub dan coworking yang keren ini.  Tempat Parkir Masalah utama saat kita datang ke coworking space terutama yang berlokasi di Bandung (atau mungkin kota-kota lainnya) adalah lahan parkir, kadang lahan parkir ...

Numpang Kerja Remote dari Bandung Digital Valley

Satu lagi co-working place  gratisan dan keren yang cukup populer dikota Bandung, co-working place yang juga memberikan fasilitas tempat kerja (co-working place) dan fitur-fitur menarik lainnya,  co-working place keren  ini adalah Bandung Digital Valley atau yang sering disingkat BDV . C o-working place  Bandung Digital Valley ini  merupakan bagian dari Telkom , mulai aktif digunakan dari sekitar tahun 2012 lalu .  Tempat ini biasanya menjadi tempat favorit bagi para pengiat startup, freelancer, dan mahasiswa . Gedung BDV Gedung BDV Gedung BDV Co-working space Bandung Digital Valley ini sendiri berlokasi di Menara Bandung Digital Valley, Jl. Gegerkalong Hilir No.47, Sukarasa, Sukasari, Kota Bandung, Jawa Barat, detailnya bisa dilihat di Google map berikut. Pemandangan jalan setelah pintu satpam. Free Co-working Space Membership Untuk mulai menggunakan fasilitas co-working space ini secara gratis maka yang pe...

Membuat Authentikasi Berbasis Token pada Spring Boot dengan Spring Security dan JWT

Setelah beberapa kali mencari tutorial tentang otentikasi aplikasi web Spring Boot dengan menggunakan JWT yang mudah dipahami akhirnya saya menemukan artikel berbahasa Inggris tapi sangat mudah dipahami  dan diikuti, artikel tersbut berada disini , dengan judul " Spring Boot Token based Authentication with Spring Security & JWT ". Untuk memudahkan orang-orang yang terbiasa membaca artikel dalam bahasa indonesia (termasuk saya sendiri), artikel ini saya buat dan susun ulang (artikel aslinya tidak tertulis dengan runtut dan dapat membuat pemula bingung dengan berbagai error yang muncul) supaya lebih mudah untuk diikuti dan dapat di gunakan bersama. Applikasi yang akan kita buat adalah aplikasi web yang setiap endpoint-nya hanya bisa di akses oleh role tertentu. 1. Tools Yang Diperlukan IntelliJ Idea text editor. Spring Assistant Plugin. Postman. PostgreSQL + DBeaver. Min Java 8 Spring Boot 2.1.8 (dengan Spring Security, Spring Web, Spring Data JPA). jjwt 0.9.1. Maven 3.6.1....