Collective Code Ownership - Ortak Kod Sahipliği

Ortak Kod Sahipliği (Collective Code Ownership)

Referanslar

http://www.extremeprogramming.org/rules/collective.html

Tanım

Ortak Sahiplik, projenin her segmentinde herkesin yeni fikirlerle katkıda bulunmasını teşvik eder. Her geliştirici, kodun herhangi bir satırını, yeni özellik eklemek, hata gidermek, tasarımını iyileştirmek veya yeniden düzenlemek (refactor) amacıyla değiştirebilir. Böylece hiç kimsenin değişiklikler için bir darboğaz oluşturmasına izin verilmez.

Başlangıçta bunu anlamak zor gelebilir. Sistemin tasarımından bir takımın tamamının nasıl sorumlu olduğunu anlamak neredeyse idrak edilemez. Vizyoner bir meşalenin yanmaya devam etmesini sağlayan sadece 1 şef mimar olmaması, bu önerinin çalışmayacağını gösterir gibidir.

Ancak bir mimara bir soru sormak ve yanlış bir yanıt almak da nadir gerçekleşen bir durum değildir. Bu durum lider programcılarınızın başarısız olduğunu göstermez. Yeterli büyüklükteki hiçbir sistem sadece bir kişinin zihninde yaşatılamaz. Diğer geliştiriciler mimarın vizyonundan hiçbir yardım almadan da sistemi sürekli değiştirmek durumundadır. Fark etmeseniz de, tasarım zaten takımın geneline dağıtılmış durumdadır. Madem tüm takım tasarım kararlarında belli bir sorumluluğa sahip, öyleyse neden yetkileri de olmasın?

Bu öneri ancak şu şekilde çalışır. Her geliştirici geliştirdiği kodlar için birim testlerini de geliştirir. Kod deposuna gönderilen kodların birim testleri %100 kapsama oranına sahiptir. Yeni eklenen kodlar, giderilen hatalar ve değişen mevcut özelliklerin tümü otomatize edilmiş testler tarafından kapsanır. Böylece test suitinizin kod deponuzun bekçiliğini ve kontrolünü yapmasına güvenebilirsiniz. Yeni bir kod yayınlanmadan önce tüm test suitinin %100 kapsama ile başarıyla çalışması gerekir.

Bir kez bu düzen kurulduğunda herhangi biri herhangi bir sınıfın herhangi bir metodunda değişiklik yapabilir ve kod deposuna gönderebilir. Sık kod entegrasyonu ile birleştirildiğinde, geliştiriciler bir sınıfın genişletildiğini veya düzeltildiğini nadiren fark ederler.

Pratikte Ortak Kod Sahipliği belirli sınıfların veya modüllerin sorumluluğunu sadece bir kişiye vermekten çok daha güvenilirdir. Özellikle bir kişinin projeden her zaman çıkma olasılığı düşünüldüğünde.

Last updated