Yazılım Mühendisliğinde Çıkmaz Sokak Tarifleri: Anti-Patterns

0
FZ
Bilgisayar yazılımları geliştirmekle yıllardır uğraşılmakta. Son yarım yüzyılda ortaya çıkan bu alanda çeşitli paradigmalar (prosedürel, nesne tabanlı, fonksiyonel, vs) ve çeşitli modeller (code reuse, unit testing, component model, extreme programming, design patterns) ortaya atıldı. Daha çok "Özgür Yazılım'' ile birlikte dağıtık geliştirme yöntemleri gündeme geldi. Tasarım, uygulama ve test aşamalarını kapsayan geniş bir açıdan baktığımızda bize önerilen çeşitli "doğru'' geliştirme yöntemleri var.

Diğer her alanda olduğu gibi dengeli ve sağlıklı bir kavrayışa sahip olmak için doğruların yanında "yanlış'' yöntemler hakkında da bilgi sahibi olmak gereklidir. Bu konuda yaşanmış çok tecrübe olmakla birlikte, yazılı olarak birkaç kaynak dışında ciddi bir eksiklik bulunmaktaydı. Bu makale, ağırlıklı olarak yazılım mühendisliği ile ilgili birkaç Internet sitesinden derlenmiş, daha çok özgür yazılım alanını ilgilendiren bu tür çıkmaz yolları tanıtmaktadır. Ortak noktaları:

* Çoğu bir problemi çözmek isterken ortaya çıkar
* İlk bakışta harika bir fikir gibi gözükebilirler
* En çok tasarım aşamasında görülürler
* Sizden çok daha üretken ve başarılı grupları batırmışlardır!

Gürer Özen'in Anti-Patterns çevirisinin devamını burada okuyabilirsiniz.

Görüşler

0
ttk
Çok faydalı bir döküman ve çalışma olmuş bence, ingilizcesini görse ne olduğuna bile bakmadan geçecek benim gibiler için özellikle...
Hazırlayanların eline sağlık.

Adres ve bilgi için teşekkürler.
0
mentat
Öncelikle eline sağlık yazarın, içeriğine hemfikirim, iyi Türkçe referans oldu böylece elimizde.

Anti-Pattern terimi üzerine bir sorum olacak. Benim bildiğim, ya da yanlış hatırladığım belki, bu terim yazının başlarında listelenen "modellerden", "design patterns"'ın (DPs) karşıt düşünce kampı anlamına geliyor, yanılıyor muyum? Ve bu DPs, yazılım mühendisliğindeki genel, proje yönetimsel olanlar değil de, kodlardaki DPs, yani singleton, proxy ıvır zıvır gibi taklaların genel adı olan DPs'e karşıt akımı tanımlıyor diye biliyordum.

Bir de, eğer çeviriyse, çevirinin orijinaline nasıl ulaşabiliriz?
0
cagataycatal
Güzel ve aciklayici bir yazi olmus ancak son anti-patternin ismiyle iliskili olarak biraz daha aciklama verilebilir.
Anti-patternler gercekten de yazilim dunyasinda bilerek ya da bilmeyerek yapilan hatalari ortaya koyup, farketmedigimiz hatalarimizi karsimiza cikariyor.
0
skoylu
Ortak noktaları:

* Çoğu bir problemi çözmek isterken ortaya çıkar
* İlk bakışta harika bir fikir gibi gözükebilirler
* En çok tasarım aşamasında görülürler
* Sizden çok daha üretken ve başarılı grupları batırmışlardır!


Bu sorunun asıl kaynağı, tasarım aşamasının süreç olarak külliyeten yanlış olmasından kaynaklanır. Bu noktada da devreye gerekler analizinin doğru yapılmayışı girer. ama çoğu zaman, işe başlarken elinizde doğru anlamda bir gerekler listesi bile yoktur maalesef.

Bu konuda,

http://cekirdek.uludag.org.tr/~tekman/blog/index.php?p=51

adresindeki kitaba gözatmak faydalı olacaktır.
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Ağ Güvenliği İpuçları

honal

O'Reilly Yayınevinin "Network Security Hacks" adlı kitabı Açık Akademi Yayınlari tarafından Türkçeye "Ağ Güvenliği İpuçlari" olarak tercüme edilmistir.

"Ag Güvenligi İpuçları" kitabi sisteminizi basit bir hedef olmaktan çıkaracak 100 güçlü ve kullanışlı ipucu sunmaktadır. Bunlar, gerçek dünyada kullanilan araçlardan alınmış örnekler ve güvenlik uzmanlarının kendi bilgisayar ve ağlarını korumak için kullandığı yöntemlerden oluşmaktadır. Herbir ipucunu okumak yalnızca birkaç dakika sürerken sizi saatlerce araştırma yapmaktan kurtaracaktır.

Ruby ile Zamanlı Süreç İşletmek

malkocoglu

İşyerinde şöyle bir probleme çözüm bulmamız gerekti: Her gece çalışan toptan işleyen (batch) programlar var. Bu programlar SQL kullanarak veri tabanından veriyi dışarı, metin dosyasına aktarıyorlar. Ya da veri tabanında yedekleme yapıyorlar.


Fakat bazen bu programlar ya takılıp kalıyor, ya hiç işlemiyor, ya da tam işlerken arıza çıkıyor. Çözüm olarak, Ruby dilinde yeni bir betik tasarladık. Bu betik, "işletici" ve "izleyici" türden bir program olacaktı.

Gerisi icin Süreç İzleyen Ruby Programcığı

Açık Akademi'den Ajax kitabı: Sağlamlığı Kanıtlanmış Tekniklerle Web 2.0 AJAX

yenigul

New Riders yayınlarından çıkan Bulletprof AJAX kitabı, Açık Akademi yayınlarından Sağlamlığı Kanıtlanmış Tekniklerle Web 2.0 AJAX adıyla yayınlanmıştır.

Hackers & Painters : Bilgisayar Çağından Büyük Fikirler

FZ

Usta yazar ve yazılım geliştirme uzmanı Paul Graham'ın "Hackers & Painters" isimli kitabı nihayet Türkçe olarak piyasalarda.

Doğru Düzgün Soru Sormanın Yolları

yalcink01

FM Forumda açılmış bir konu altında oluşan doğal süreç, bizi forumlarda ve e-posta listelerinde nasıl soru sormak gerektiği konusuna götürdü. Dernek listelerinde zaman zaman dalgalanmalar yaşanmakla birlikte, genelde ortanın üstü diye tabir edebileceğimiz bir ileti yazım tarzı var. FM Forum'un durumu da pek farklı değil. Yeni katılan arkadaşlar haricinde, acayip ve garip tarzda soru soran pek çıkmıyor. Bununla birlikte, söz konusu forum konusunda görülebileceği üzere, bazen iyi bir kılavuza ihtiyaç duyuluyor. Diğer forumlarda ise durum içler acısı :( Türkçe, Türkçe olduğuna bu kadar pişman edilebilir. İmla ve yazım kurallarındaki boşvermişlik bir tarafa, kelimelerde bile acayiplikler "var way!", "ajaip şeler oljek amma bnm sormk isterim...", şeklinde devam eden ucubeler etrafta cirit atmakta. Elbette ki tek bir kılavuz ile bütün bunları sonlandırmak ve insanları doğru yola sokmak mümkün değil -zaten ahir zaman peygamberliği gibi bir derdimiz de yok :)- ama bir yerden de başlamak gerek, değil mi? Peygamber olamadık diye hayatı tamamen boşvermek de olmaz.

Osman Yüksel'e, bu kadar işinin gücünün ve dahi Debian .po çevirilerinin arasında bu işe vakit ayırdığı için teşekkür ederim.

Türkçe çeviri için ilk sürüme http://www.geocities.com/yalcink01/smart-questions.html adresinden ulaşabilirsiniz. Her türlü geri beslemeye kapımız açıktır. Eklemek istediğiniz bölümler var ise, lütfen çekinmeden bildirin.