Yazılım Bağlamında Cohesion ve Coupling Kavramları Üzerine

Giriş

Bu aralar Software Craftsmanship alanında okumalar yapmaya ve vakit buldukça konuşmalar izlemeye çalışıyorum. Yazılımın temel prensipleri ve kavramları bu alanın ana başlıklarından. Ben de okuduğum, anlamaya çalıştığım bu 2 kavramı çok çok basit şekilde, kendimce açıklamaya çalışacağım.

Read On →

Abstract Factory Tasarım Şablonu

Amaç

  • Elimizde benzer ve ilişkili nesneler var ve bunları somut sınıflarını belirtmeden oluşturmak için bir arayüz istiyoruz
  • Platformlara özgü özellikleri ve nesnelerin platformlara göre farklılık gösteren yaratılışını sarmalamak (encapsulation) istiyoruz.
  • new operatörü ile yeni nesne yaratmanın sorunlu olduğunu düşünüyoruz

Read On →

Dry Prensibi

Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

NOT: Bu yazı The Pragmatic Programmer kitabındaki “The Evils of Duplication” bölümünden yararlanılarak yazılmıştır.

Programlama Prensibi

DRY

Keep It Dry

Keep Things Dry

Read On →

YAGNI Prensibi

Not: Bu yazı Martin Fowler’ın YAGNI yazısının özeti ve tercümesi niteliğindedir.

Programlama Prensibi

YAGNI

Açılımlar

You Aren’t Gonna Need It You Aint Gonna Need It

Açıklama

YAGNI, Extreme programlamanın prensiplerinden biridir. Gelecekte lazım olacak düşüncesi ile bir takım özelliklerin geliştirilmemesi gerektiğini savunur. Şimdi bir örnek üzerinden bu prensibi anlamaya çalışalım.

Read On →

Çıraklık Şablonları: Hevesli Yazılım Ustasının Rehberi

So, why this book now? Well, we’ve overloaded our profession with resources. There is more information available about our revolution than any one person can absorb. Still, some people manage to do it. They internalize all the advice available to them and always seem to have it close at hand. How do they do achieve that level of mastery? This book is full of patterns for mastering our complex field. Mastering is more than just knowing. It is knowing in a way that lightens your load.



TL;DR Şu kitabı her yazılımcının okuması gerektiğine inanıyorum ve şiddetle tavsiye ediyorum.

Read On →

KISS Prensibi

Basitlik nihai karmaşıklıktır.

Read On →

Fikirden Ürüne Yazılım Geliştirme Süreçleri (Ücretsiz Ders)

Udacity üzerinden ücretsiz alabileceğiniz, yazılım mühendisliğine giriş niteliğindeki bu ders hali hazırda bildiğimiz bir çok şeyi içerse de bilmediğimiz bir çok püf noktasını da içinde barındırıyor. Özellikle yazılım geliştirmeye yeni başlamış herkesin alması gerektiğine inanıyorum.

Dersi şurada bulabilirsiniz. Ayrıca dersin içeriğini de aşağıya ekledim.

Read On →

How to version a JavaEE Web application with Maven and Git

In this post, I will show how to version a JavaEE Web Application. The example project is here

Read On →

"Best Practice" Üzerine Etkinlik Önerisi

TL;DR

Bu yazıda “şöyle bir etkinlik olsa çok faydalı olur” dediğim bir etkinlik fikrini anlatacağım.

Özet: Belli senaryolar üzerinden, 3-4 uzmanın kendi en iyi uygulamalarını anlattığı, katılımcıların sorularıyla desteklediği etkinlikler olsa çok faydalı olabilir.

Read On →

Farklı dillerin alfabelerine göre sıralama (Collator kullanımı)

Java’da farklı dillerin alfabelerine göre sıralama yapmak mümkün.

Github Repo

Read On →