Yazılım Tasarımı; Anti-pattern (AP)

Kullandığımız yazılım teknolojiler, ve alt yapılar ne olursa olsun yazılım tasarımında kaçınmamız gereken yaklaşımlar bulunmaktadır. Anti-pattern (AP) olarak adlandırılabilecek bu yaklaşımlardan 7 tanesini bu flood altında paylaşıyorum. Gerisi sizden gelsin…

  • “AP-1. Sihirli Düğme (Magic PushButton)”: buton-click programcılığı olarak da adlandırılmaktadır. Herhangi bir soyutlama yapılmaksızın, görsel bileşenlerin (olaylarının / events) arkasında tüm kodlamanın yapılmasıdır/gömülmesidir.
  • “AP-2. Spagetti Kodlama (Spaghetti Coding)”: Bakım ve değişiklik yapılamayacak kadar karmaşık yazılmış kodlama türüne bu ad verilmektedir. Nesne yönelimli olmayan dillerde daha sık rastlanan bir durumdur. Kodun yeniden kullanılabilirliği zordur. Zorunlu HTML, js karmaşası…
  • “AP-3. Lazanya Kodlama (Lasagna Coding)”: Gereğinden fazla katmana sahip uygulama geliştirilmesine verilen isimdir (Aşırı çok katmanlı uygulama). Çok katman ve çok sayıda irili ufaklı sınıf kullanılarak tasarlanmış yazılım uygulamasının anlaşılması ve değiştirilmesi zordur.
  • “AP-4. Kopyala -Yapıştır Programlama (Copy-Paste Programming)”: Daha önce yazılmış kodları, sürekli farklı yerlere kopyalayarak yapılan yazılım geliştirme verilen isimdir. Kopyalanan kodda bir değişiklik ihtiyacı olduğunda, kopyalanan tüm yerlerin de değiştirilmesini gerekir.
  • “AP-5. Tanrısal Nesne (God Object)”: Gereğinden fazla iş yapabilen sınıflara verilen isimdir. Bu sınıflar çok fazla üyeye ve davranışa sahip olup, uygulamanın ana sınıfı gibi algılanırlar. (Neredeyse) tüm iş mantığını barındıran bu sınıflarda değişiklik yapmak imkansızdır.
  • “AP-6. Altın Çekiç (Golden Hammer)”: Daha önceden bildiğimiz bir tasarım yaklaşımının mükemmel bir çözüm olduğuna inanıp, her sorunu aynı yöntemle çözmeye çalışmaktır. “Elinde çekiç olan birine tüm sorunlar çivi gibi görünür.” Yaz. proje devirlerinde bu çekiçler karşımıza çıkar.
  • “AP-7. Tekerleği Yeniden Keşfetme (Reinventing the Square Wheel)”: Hemen her problemin algoritmasının bilindiği bir dünyada, bu çözümleri bilerek ya da bilmeyerek görmezden gelerek, yeni çözümler üretme çabasına verilen isimdir. Niyet iyi olsa da sonuçları genellikle hüsrandır.

Yazar; Dr. Deniz KILINÇ

guest
0 Yorum
Inline Feedbacks
Tüm Yorumları Göster
mutlakaoku.com |
0
Bu konuda sen ne düşünüyorsun? Yaz Mutlaka Okunsun...x