Pikirkan masalah yang dihadapi terlebih dahulu dan terutama. Jika Anda secara membuta menerapkan prinsip-prinsip YAGNI atau SOLID, Anda dapat melukai diri sendiri nantinya. Sesuatu yang saya harap kita semua bisa mengerti adalah bahwa tidak ada pendekatan desain "satu" yang cocok untuk semua masalah. Anda dapat melihat bukti bahwa ketika sebuah toko menjual topi yang diiklankan sebagai "satu ukuran cocok untuk semua", tetapi itu tidak sesuai dengan kepala Anda. Itu terlalu besar atau terlalu kecil.
Alih-alih, lebih baik untuk memahami prinsip dan masalah yang berusaha diatasi oleh SOLID; serta prinsip dan masalah yang YAGNI coba atasi. Anda akan menemukan bahwa yang satu berkaitan dengan arsitektur aplikasi Anda dan yang lainnya berkaitan dengan proses pengembangan secara keseluruhan. Meskipun ada beberapa kasus yang tumpang tindih, mereka merupakan masalah yang sangat berbeda.
YAGNI (Anda Tidak Akan Membutuhkannya [akronim Amerika kuno]) berkaitan dengan menghemat waktu pengembang dengan menambahkan fondasi beton bertulang baja kembali ke jembatan yang hanya dimaksudkan untuk menjangkau anak sungai selebar 3 kaki ketika jembatan kayu yang lebih sederhana akan melakukan hal yang sama. baik. Jika kita membentang sungai selebar satu mil dan perlu mendukung beberapa trailer traktor, tentu saja kita akan membutuhkan pekerjaan pondasi ekstra. Intinya, YAGNI memberitahu Anda untuk melihat gambar yang lebih besar dan desain untuk kebutuhan saat ini . Ini menangani masalah membuat sesuatu terlalu rumit karena kami mengantisipasi sejumlah kebutuhan potensial yang belum diidentifikasi oleh pelanggan.
PADAT berkaitan dengan bagaimana kita memastikan potongan-potongan jembatan cocok bersama dengan benar, dan dapat dipertahankan dari waktu ke waktu. Anda dapat menerapkan prinsip SOLID pada jembatan kayu serta jembatan beton bertulang baja.
Singkatnya, kedua konsep ini tidak harus bertentangan satu sama lain. Ketika Anda menemukan sebuah situasi di mana Anda percaya bahwa mereka ada, inilah saatnya untuk melihat gambaran besarnya. Bergantung pada kesimpulan Anda, Anda mungkin memutuskan untuk menghilangkan sebagian dari prinsip-prinsip SOLID atau Anda mungkin memutuskan bahwa Anda benar-benar membutuhkannya.
SOLID principle vs YAGNI
?