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

Dil Üstadları ile Araç Ustaları: IDE Ayrımı

FZ

Geliştirici dünyası iki kampa ayrılmıştır. Bir kampta dil üstadları vardır, bu yazılımcılar yüksek seviyeli programlamadan -- birinci-sınıf fonksiyonlar, aşamalı programlama, AOP, MOP, kendi kendini sorgulama -- bahsederler. Araç ustaları ise tümleşik geliştirme ve hata ayıklama araçlarında ustadırlar, kod tamamlama, "refactoring", vs. Dil üstadları Emacs ya da VIM kullanır, bu tür editörler yeni dilleri denemek için daha uygundur. Araç ustaları ise Visual Studio, Eclipse, IntelliJ gibi IDE'leri kullanırlar.

Laszlo ve Groovy gibi yeni diller ya da AOP (Aspect Oriented Programming) gibi dil uzantıları genellikle öncelikli olarak metin-editörü tabanlı yazılım geliştirme ortamlarında ortaya çıkarlar ve ancak ondan bir süre sonra IDE dünyası bu tür desteklere kavuşur. Eğer dil ya da uzantı gerçekten başarılı ise araçlar da bunu desteklemeye başlar. Bu ayrımın tek sebebi araç geliştirmenin dil geliştirmekten zor olması değildir. Asıl mesele bir dile hakim olmak ile bir araç setine hakim olmanın çok farklı iki mantalite olmasıdır, belli bir ölçüye dek bunlar birbirlerini dışlayan alternatiflerdir. Acaba neden? İşte sebepleri...

Oliver Steele'nin The IDE Divide başlıklı makalesini tüm yazılım geliştiricilerin okumasında fayda var. (Not: Şöyle sağlam bir FM üyesi çıksa da bahsi geçen makaleyi Türk diline kazandırsa... hani yani küçük bir olasılık olsa da, belki diyorum, belki biri üstlenir, FM'ye bir katkıda bulunur...)

Her Nesil Kendi Filozofunu Yaratır

barbaros

Richard Stallman'ın kitabı için Stanford Hukuk Fakültesi Hukuk Profesörü Lawrence Lessig tarafından yazılan giriş bölümü...

Her nesil kendi filozofunu yaratır-bir yazar, ya da zamanın görüntüsünü yakalayan bir sanatçı. Kimi zaman bu filozoflar böyle tanımlanır; çoğu zaman bu tespitin doğrulanması nesiller alan bir zamanda gerçekleşir. Tanımlansın ya da tanımlanmasın, tarih ideallerini konuşan insanlar tarafından şekillenir. Belki bir şiirin fısıltısında, belki de politik bir hareketin haykırışlarında.

Bizim neslimizin de bir filozofu var. O bir sanatçı ya da profesyonel bir yazar değil. O, bir programcı.

Kadınlar ve Bilgisayarlar

FZ

Kadınlar ve bilgisayarlar. Kadınlar ve programlar. Kadın programcılar. Kadın "hacker"lar. Kadınların bilgisayar bilimleri tarihinde ve endüstrinin gelişiminde, teknolojinin ilerlemesinde oynadıkları rol. Kadınlar ve GNU/Linux. Kadınlar ve projeleri. Kadınlar ve erkekler. Önyargılar ve bunlara karşı mücadele yöntemleri. Akıllı, güçlü, zeki, inatçı, hırslı ve risk almayı seven kadınlar. Pek çok programlama dilini ustaca kullanan kadınlar.

Kısaca kadınlar ve bilgisayarlar üzerine bir yazı. Meraklısına...

Hackers: Sıradışı Bir Dönemin Sıradışı Hikayesi

FZ

2004 yazının sıcak günlerinden birinde, e-postalarımı kontrol ederken beni şaşırtan şu iletiyi karşımda gördüm: "İstemiş olduğunuz Hackers - Heroes of the Computer Revolution adlı yayın kütüphanemize gelmiştir ve teknik işlemleri yapılmaktadır. İşlemler bittikten sonra yayın kataloğumuzdan görülebilir. Bu durumu online kataloğumuzdan takip edebilirsiniz. -- İTÜ Kütüphane ve Dökümantasyon Daire Başkanlığı"

Bir an için duraksadım ve şaşırdım, ne olduğunu tam olarak kavrayamamıştım. Daha sonra ise hatırlama süreci ile parçalar yavaş yavaş yerine oturmaya başladı...

Steven Levy'nin bir döneme ışık tutan ve GNU/Linux'tan çok daha fazlasına tarihi bir perspektifle yer veren meşhur kitabının Ergin Sevinç tarafından yazılmış eleştirisinin devamını ileriseviye.org adresinde okuyabilirsiniz.

PHP-Nuke 5.5 ve Windows 2000 Server

anonim

Bu makale Windows IIS Server de  PHP-Nuke 5.5 kurulumunun nasıl yapılacağı anlatılmıştır.Makelenin orjinali ingilizce olup buradan izlenebilir

1) Gerekli Dosyalar:
PHP-Nuke 5.5 - PHP-Nuke Dosyası
mySQL 3.23.49 - PHP Nuke İçin veri tabanı
PHP 4.2.0 installer - Windows ISS Server de PHP Kodlarının Çalışması için gerekli olan dosya.