Ini sangat sulit untuk dijelaskan karena sederhana tidak berarti hal yang sama untuk semua orang.
Contoh. Beberapa pengembang berpikir itu ?:sederhana tetapi yang lain berpikir ifpernyataan lebih baik. Ketika turun ke level ini, Anda tidak bisa menyenangkan semua orang.
Secara umum, cara sederhana tanpa kerumitan . Untuk memahami kesederhanaan, kita perlu memahami kompleksitas.
Ada dua jenis kompleksitas:
Kompleksitas esensial mengacu pada situasi di mana semua solusi yang masuk akal untuk suatu masalah harus rumit (dan mungkin membingungkan) karena solusi "sederhana" tidak akan cukup menyelesaikan masalah. - Wikipedia
Kompleksitas tak disengaja adalah kompleksitas yang muncul dalam program komputer atau proses pengembangannya (pemrograman komputer) yang tidak penting untuk masalah yang harus dipecahkan. - Wikipedia
Anda dapat memeriksa kompleksitas esensial dengan pertanyaan-pertanyaan berikut:
Apakah solusi ini sederhana? Bisakah saya menjelaskannya kepada rekan saya dalam rentang beberapa menit dan mereka mendapatkannya? Apakah ada solusi yang lebih sederhana untuk masalah ini? Jika ya, adakah trade-off antara solusi rumit versus solusi sederhana? Bisakah kita hidup dengan pertukaran itu? Sebagai contoh, banyak programmer membuat kesalahan dengan mengoptimalkan semuanya mikro dan solusi mereka (dan kode juga) menjadi terlalu rumit.
Memeriksa kompleksitas tidak disengaja Anda:
Apakah kodenya sederhana? Jika saya kembali ke sana dalam tiga bulan, berapa lama bagi saya untuk membangun konteks di otak saya sehingga saya dapat membuat perubahan yang perlu saya buat? Apakah semua yang ada dalam kode sumber saya memiliki tujuan yang jelas dan menyampaikan tujuan tersebut secara efektif kepada saya dan pengembang lainnya ? Seberapa sulit untuk menguji kode saya? Biasanya semakin rumit kode Anda, semakin sulit untuk menguji unit, jadi saya biasanya menggunakan ini sebagai ukuran kompleksitas. Anda biasanya menginginkan kelas dan metode yang kecil, diberi nama baik dan fokus. Pola desain biasanya membantu Anda mencapai ini juga.
Jika Anda mendapati diri Anda ingin menggunakan pola desain hanya karena Anda baru saja membacanya, itu mungkin akan memperkenalkan kompleksitas yang tidak disengaja. Jika Anda menemukan diri Anda ingin memasukkan sesuatu karena Anda berpikir 'pintar' itu mungkin akan menimbulkan kompleksitas yang tidak disengaja.
Saya harap ini membantu dan jangan lupa: Sederhana bukan berarti MUDAH .