Bakış açısı · Mimari

Erken soyut­lama neden kar­ma­şık­lık yaratır

Soyutlamalar tekrar eden, somut durumlardan doğmalıdır — bir gün gerekecekleri beklentisinden değil.

Bu nedir? · Bakış açısı

Gerekçeli bir tutum — tez, değerlendirme ve farklı karar vereceğimiz durumla birlikte. Tarafsız bir genel bakış değil, bir duruş. Genel bakışa git

Bağlam

Konu nedir?

Deneyimli geliştiriciler desenleri fark eder ve onları kapsüllemek ister. Bu refleks iyi niyetlidir, ancak çoğu zaman hiç ortaya çıkmayan bir durumu kapsayan — ve tek gerçek durumu daha zahmetli hâle getiren — soyutlamalara yol açar.

Argümanlar

Neden böyle düşü­nü­yo­ruz?

01

Yanlış soyutlama, tekrardan daha pahalıdır

Tekrar eden kod görünürdür ve kolayca değiştirilebilir. Yanlış bir soyutlama ise tekrarı bir arayüzün arkasına saklar; o arayüzü değiştirmek her çağıranı etkiler.

02

Soyutlama kanıt ister

Bir desen ancak gerçekte birkaç kez ortaya çıktığında gerçek biçimi bilinir. Öncesinde tahmin yürütülür — ve istisnalar çoğunlukla yanlış tahmin edilir.

03

Dolaylılık bedava değildir

Her katman okunabilirlikten bir şey götürür. Gerçekte yalnızca bir kez ihtiyaç duyulmuş olsa bile, her seferinde onu da okumak gerekir.

Ödünleşimler

Bedeli nedir?

  • Çok uzun beklemek, sonradan birleştirilmesi zahmetli olan gerçek bir tekrar yaratır. Soyutlamanın gecikmiş sayıldığı bir nokta vardır.

  • Doğru zaman bir takdir meselesidir — sabit bir kural olarak formüle edilemez.

Karşı sınama

Ne zaman farklı karar veririz?

  • Bir desenin biçimi dışarıdan belirlenmiş ve istikrarlıysa — yerleşik bir standart ya da düzenleyici bir gereklilik — erken soyutlarız.

  • Aynı değişikliğin üç veya daha fazla yerde eşzamanlı yapılması gerektiği kanıtlanmışsa, soyutlamanın zamanı gelmiştir.

Sonuç

Tutu­mu­muz.

Bir soyutlamayı önceden varsaymak yerine kendini göstermesini bekliyoruz. Tekrar, ucuz bir ara durumdur; yanlış soyutlama ise pahalı bir kalıcı durumdur.

Bilgi grafiği

Mühen­dis­lik yol­cu­lu­ğu­nuza devam edin.

İlgili kavramlar, kararlar, uygulama kılavuzları ve bakış açıları — bir bağlantı listesi olarak değil, bütünlüklü bir yol olarak.

Farklı mı düşü­nü­yor­su­nuz? Konu­şa­lım.

Bakış açıları sınanmak için vardır. Farklı düşünüyorsanız ya da somut bir sorununuz varsa yönetimimizle görüşün.