Jan.01

KIND Programlama

KIND Programlama

KIND ( KEEP IT NON DYNAMIC )

İnternet üzerinde dokümanına veya makalesine rastlayamayacağınız benim uydurduğum bir dizayn örneğidir.

Her yeni iş deneyimlerimde gördüm ki, proje yöneticileri veya yazılımcılar fantezilerini birleştirip bakım zorluklarını görünce, geliştirdikleri yazılımın tasarımını dinamik bir yapıya sokmaya karar verirler. Oysaki bakım maliyeti veya zorluğu dediğiniz efor ne kadar etkili projemize…

Gerçekten emin miyiz statik yapacağımız işin bakımından kolay olacağına.

Basit bir proje başlatarak örnek vermeye çalışayım.

Elimizde entegrasyon problemi var, bunun çözümü için düşündüğümüz yapıda entegre edeceğimiz diğer çözümlerin teknoloji veya diğer farklılıkları bizi entegre edeceğimiz alanda dinamik bir yapı kurdurmaya zorluyor. Bu dakikadan sonra statik bir entegre yapmanın ileride sıkıntı yapacağını düşünerek haklı olarak çözümümüzü dinamik bir yapıya sokmaya çalışarak çözmeyi ümit ediyoruz ve kodumuzu yazmaya başlıyoruz.

Eğer tecrübeniz yoksa kendimizi çok daha farklı bir dünyada bulacak ve yardımlarla sorunları tek tek aşarak uygulamanızın entegre bacağını dinamik bir yapıda bir şekilde bitireceğiz. Geriye dönüp baktığımızda statik bir çözüm için harcayacağınız sürenin minimum 2,3,4 katını harcadığımızı gördükten sonra savaş alanına dönen kod parçacıklarının bakımının daha güç olacağını fark edeceğiz ( Ben temiz kod yazarım ) Tamam yazarsın dostum sıkıntı yazacağın dilin best practice kurallarına uyman değil ki?

İşte başımıza gelecek sıkıntılar

  • İyi bir dokümantasyon yapılmazsa ilerleyen yıllarda bakım sorunun ciddi seviyelere gelecektir.
  • Artık çok fazla etki alanı olan kod parçacıkları var. Tüm ilişkiyi doküman ile kavrayacak geliştirici bulmak zorundasınız.
  • Hata çözümleri için sil baştan kod yazmaya hazırlıklı olma. ( Dinamik bir yapıda her sorunda iş parçacığını değiştirmenin yeterli olmayacağı bunun etkisinin hesaplanması gerektiği… )
  • Entegre edeceğimiz teknoloji farklılıklarının analizi ( bu analiz iyi yapılamazsa ileride yapılacak düzenlemelerin kan kusturacak olması )

 

Kendi iş deneyimlerimde gördüğüm bu dinamiklik sorunları arttıkça arkadaşlar arasında uydurduğum bir örnek (pattern) oldu KIND.

 

Keep it non dynamic

KIND programming

Software Design Pattern
Paylaş:
  • facebook
  • twitter
  • gplus

Yorumla

Comment