Anti-pattern Nedir?

Bir yazılım mühendisliği kavramı olan anti-pattern, kullanışsız çoğu zaman hatalı sonuçlar doğuran, yanlış geliştirilmiş çözümlere denir. Genellikle doğru olduğu düşünülerek gerçekleştirilen  ve tecrübe eksikliğinin temel neden olduğu bu hatalar, projelerin başarısızlıkla sonuçlanmasına yol açar. Anti-pattern’lerin en büyük tehlikesi, davranışın ya da çözümün ilk etapta doğru olduğunun düşünülmesidir, bu durum sorunların uzun vadede ortaya çıkmasına neden olur.

Bir çok kaynakta dark pattern, pitfall olarak da geçen bu kavram, Bell Labs programcısı Andrew Koenig‘in C Traps and Pitfalls adlı kitabında bahsetmesiyle yaygınlaştı. Sadece yazılım alanında değil, iş süreçleri ve analizi, proje yönetimi gibi bir çok alanda kullanılan genel bir kavram haline gelmiştir. Aşağıda bazı anti-pattern’ler örnek olarak verilmiştir.

Analysis Paralysis

Bir proje üzerinde yapılan analizlere gereğinden fazla zaman ve enerji ayrılmasıyla ortaya çıkar. Temel nedeni bilgi yetersizliği ve tecrübesizliktir. Bir karar vermeden ya da eyleme geçmeden önce aşırıya kaçan analizler, iş sürecinin duraksamasına neden olur.

Overengineering

Mevcut sorunun, olduğundan çok daha büyük olarak algılanmasıdır. Çözüm, daha kolay bir yoldan yapılabilirken daha karmaşık bir yapı ile çözmeye çalışmak olarak belirtilebilir. Bir çok sorunu çözen bir yapı, gerektiği yerde işe yaramıyorsa bir hiçtir.

Smoke and Mirrors

Bir ürün oluştururken yanıltıcı araçlar kullanmaktır. Ürünün geleceği açısından büyük sorunlar çıkaracaktır.

God Object

Nesne yönelimli programlamada nesneler, programda yer alan iş bölümü için oldukça yararlıdır. Ancak gereğinden fazla iş yapabilen, çok fazla sayıda değişken ve metot içeren nesneler God Object olarak adlandırılır.

Golden Hammer

Her problemin farklı bir çözüm yaklaşımına ihtiyacı vardır. Ancak işlevine güvenilen bir çözümü bir çok problemde kullanmaya çalışmak bir anti-pattern’dir.

Hard Coding

Sabit kodlama; uygulamadaki değişkenlerin doğrudan programcı tarafından belirlenmesidir. Bunun yerine değişkenlerin ve konfigurasyon verilerinin veritabanı, ya da .ini uzantılı dosyalarda tutulması daha kullanışlıdır.

Boat Anchor

Kullanılmayan ancak programda yer verilen kod parçalarına verilen addır.

DLL Hell

.dll uzantısı aynı isimden iki dosyanın bulunmasına izin vermez. Aynı isimli farklı bir dosya olşuturulduğunda yeni dosya eskinin üzerine yazılır böylece eski dosya kaybedilmiş olur.

Daha çok anti-pattern için buradan yararlanabilirsiniz.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s