𝗖𝗼𝗱 𝗧𝗲𝗸𝗿𝗮𝗿ı, 𝗬𝗮𝗻𝗹ış 𝗦𝗼𝘆𝘂𝘁𝗹𝗮𝗺𝗮𝗹𝗮𝗿𝗱𝗮𝗻 𝗗𝗮𝗵𝗮 𝗨𝗰𝘂𝘇𝗱𝘂𝗿

Geliştiriciler DRY prensibini severler.

Kendinizi tekrar etmekten kaçınmak istersiniz. Zarif ve yeniden kullanılabilir kod istersiniz.

Ancak bu hedef genellikle bir tuzağa yol açar: erken soyutlama.

Kodu tekrarlamak yanlış hissettirir. Ancak, kod tekrarı genellikle kötü bir soyutlamadan daha ucuzdur.

Mükemmel modüler sistemler kurmaya çalışırız. Karmaşıklığı yönetmek için kalıplar arar ve mantığı dışarı çıkarırız.

İyi tasarlanmış soyutlamalar yazılımın ölçeklenmesine yardımcı olur.

Fakat birçok soyutlama çok erken inşa edilir. Eğer problemi tam olarak anlamazsanız, soyutlamanız bir yük haline gelir.

Yanlış bir soyutlama birkaç soruna yol açar:

  • Aşırı mühendislik (Over-engineering): Basit problemler için karmaşık çözümler üretirsiniz.
  • Katılık (Rigidity): Kodunuz, asla gerçekleşmeyecek bir geleceği tahmin etmeye çalıştığı için değiştirilmesi zor hale gelir.
  • Gizlenen Niyet (Obscured Intent): İş mantığı, genel arayüz katmanlarının altında gizlenir. Bu da hata ayıklamayı zorlaştırır.
  • Sıkı Bağlılık (Tight Coupling): Sisteminizin parçaları soyutlamanın kendisine bağımlı hale gelir.

Maliyeti yüksektir. Kullanıcı problemlerini çözmek yerine kendi mimarinizle savaşarak vakit kaybedersiniz. Bu, ekibinizi yavaşlatır ve refactoring işlemini zorlaştırır.

Size her şeyi kopyalayıp yapıştırmanızı söylemiyorum. Pragmatik bir yaklaşım öneriyorum.

Kontrollü kod tekrarını bir araç olarak kullanın. Gereksinimlerin hızlı değiştiği veya belirsizlikle karşılaştığınız alanlarda kullanın.

Soyutlamayı oluşturmadan önce kalıbı net bir şekilde görene kadar bekleyin.

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