Kolektif Kodun Özelliği: Bir Anti-Pastnn?

Adanali

Active member


  1. Kolektif Kodun Özelliği: Bir Anti-Pastnn?

Kodun ortak sorumluluğu iyi bir fikir gibi görünüyor. Ancak yazılım geliştirmenin önemli kavramlarını görmezden gelin.

Kolektif kodun mülkiyeti, erken çevik bir yöntem olan Extreme Programlama'dan (XP) gelir. Bu, tüm geliştiricilerin kodda buldukları herhangi bir sorunu çözmeleri gerektiği anlamına gelir. Bir sistemin sorumluluğunu üstlenmek için, sorunların kabul etmek yerine kaldırılmasını sağlar. Proje çalışması için modern yaklaşımlar, otomatik ekibe dayanmaktadır. Bunun için, yazılımın geliştirilmesi durumunda kodun sorumluluğu kesinlikle temeldir.

Geliştiriciler neyin geliştirilmesi gerektiğini ve nasıl olması gerektiğini nasıl biliyor? Kent Beck'in “Extreme Programlama Açıklandı” kitabında, tüm geliştiricilerin kodun her bir bölümü için uzman olamayacağını, ancak en azından tüm kodun temel bir anlayışına sahip olması gerektiğini söylüyor.

Bilgi gizleme


Tüm kodun bilgisi, başka bir yazıda zaten rol oynamış olan gizlenen bilgilerle çelişir. Bilgi gizleme yeri, bir formdaki kullanıcıların sadece arayüzü bildikleri, ancak iç mekanı bilmediği anlamına gelir. Bu, modülün kullanımını basitleştirir, çünkü kullanıcılar formda daha azına ihtiyaç duyar. Modül de daha kolay değiştirilebilir. Arayüz değişmeden kaldığı sürece modül kullanıcılarından ödün vermeden değişiklikler mümkündür.

Kolektif kodun mülkiyeti, arayüzün basit bilgisinden çok daha fazlasını gerektirir. Herkes tüm modüllerin iç kısmını en azından yüzeysel olarak anlamalıdır. Hangi alternatifler var?

Alternatifler


Her formdan bir geliştirici sorumlu olabilir. Bunun önemli dezavantajları vardır. Sorumlu geliştiriciler bir tatile sahipse veya hastalanırsa, formu değiştirmek zor olacaktır çünkü sadece formu içerir.

Bir çözüm, birkaç geliştiricinin her modülü bilmesi, ancak tüm geliştiricilerin her modülü bilmemesidir. Organizasyon bu konuda önemli bir rol oynamaktadır: Conway Law, yazılım mimarisinin geliştiriciler arasındaki iletişim ilişkilerine karşılık geldiğini belirtir. Tez: Geliştiriciler bir veya daha fazla modülden sorumludur ve diğer geliştiricilerin modüllerini kullanmak istiyorlarsa konuşmalıdır. Bu aynı zamanda toplu kodun mülkiyeti ile çelişir çünkü tüm geliştiriciler herhangi bir kodu içermez veya hatta değiştiremez

Bir ekip içindeki iletişim daha kolaydır. Genellikle aynı tesislerde çalışırlar ve ortak toplantılar yaparlar. Bu iletişimi basitleştirir. Daha iyi iletişim, Conway yasasına göre mimarlık üzerinde bir etkiye sahip olabilir. Bir ekibin geliştiricileri diğer ekip üyelerinin kodunu biliyorlarsa, bu ekipte iyi bir işbirliğinin bir işareti olabilir. Geliştiriciler diğer takımların modüllerini bilmek zorundalarsa, ekstra toplantılar sırasında olduğu gibi ayrıntılı bir iletişim gereklidir. Dolayısıyla, kolektif kodun mülkiyeti ekiplerle sınırlı olmalı ve tüm kuruluşu içermemelidir.

TL; Dr.


Kolektif kodun özelliği, kodun sorumluluğunu almak ve kodun geliştirilmesi anlamına gelir. Bu iyi bir şey. Neyse ki, modülerleşme sayesinde tüm kodu anlamak gerekli değildir.


()
 
Üst