Duplikasi Kod lwn. Abstraksi yang Salah

Pembangun sering bergelut dengan satu pilihan.

Anda perlu memilih antara prinsip Don't Repeat Yourself atau membenarkan sedikit duplikasi kod.

DRY adalah peraturan teras dalam reka bentuk perisian. Namun, mengejarnya secara berlebihan akan mewujudkan masalah baharu. Anda mencipta abstraksi yang salah.

Abstraksi yang salah menelan kos yang lebih tinggi berbanding kod yang berulang.

Kita mahu menulis kod yang elegan. Kita mahu membina logik yang boleh digunakan semula. Kita mahu membaiki pepijat di satu tempat dan melihatnya dibaiki di semua tempat. Matlamat ini terasa betul.

Tetapi abstraksi pramatang membunuh kepantasan projek. Ia merosakkan kemudahan untuk menyelenggara kod anda.

Apabila anda melakukan abstraksi terlalu awal, anda akan menghadapi isu-isu ini:

  • Kompleksiti yang meningkat. Abstraksi yang buruk menambah lapisan kekeliruan.
  • Kod yang kaku. Ia menjadi sukar untuk mengubah satu bahagian tanpa merosakkan bahagian yang lain.
  • Logik yang tersembunyi. Anda menghabiskan lebih banyak masa untuk menjejaki kod berbanding menulisnya.

Kadangkala, duplikasi adalah pilihan pragmatik. Ia memastikan kod anda kekal ringkas dan jelas. Ia membolehkan anda mengubah bahagian sistem anda secara bebas.

Jangan bina penyelesaian generik untuk masalah yang anda belum fahami sepenuhnya. Tunggu sehingga coraknya menjadi jelas.

Sumber: https://dev.to/kelvin_kariuki_20f4bec616/developer-take-on-code-duplication-is-far-cheaper-than-the-wrong-abstraction-2016-2k3n