Daha önce yazılmış kodu korumak için kaç programcı gerekir?

Bir süre önce yakın bir arkadaşımla aramızda şu cümlelerin duyulduğu bir konuşma geçti:

— Programcıların sayısı sürekli artacak; çünkü kod miktarı artıyor ve giderek daha fazla geliştiricinin onu desteklemesi gerekiyor.
— Ancak kod eskiyor ve bir kısmı artık desteklenmiyor. Hatta bir tür dengenin olması da mümkündür.

Birkaç gün sonra onları hatırladım ve zamanla daha fazla kaynak gerektiren kodu sürdürmenin yeni işlevlerin gelişimini sonuçta felç edip edemeyeceğini veya programcı sayısında sınırsız bir artış gerektirip gerektiremeyeceğini merak ettim. Matematiksel analiz ve diferansiyel denklemler, destek miktarının kalkınmaya bağımlılığının niteliksel olarak değerlendirilmesine ve soruların yanıtlarının bulunmasına yardımcı oldu.

Birinci soru. Tüm geliştirme kaynaklarını "tüketmeyi" destekleyebilir mi?

Katılımcı sayısının sabit olduğu bir programcı ekibi düşünün. Çalışma sürelerinin payı Daha önce yazılmış kodu korumak için kaç programcı gerekir? (Daha önce yazılmış kodu korumak için kaç programcı gerekir?) yeni kod geliştirmeye harcanır ve kalan zaman payı Daha önce yazılmış kodu korumak için kaç programcı gerekir? desteğe gider. Modelin varsayımları kapsamında, birinci aktivite türünün kod hacmini artırmaya, ikincisinin ise değiştirmeye (hataları düzeltmeye) yönelik olduğunu ve kod hacmi üzerinde önemli bir etkisinin olmadığını varsayıyoruz.

Haydi belirtelim Daha önce yazılmış kodu korumak için kaç programcı gerekir? o ana kadar yazılan kodun tamamı Daha önce yazılmış kodu korumak için kaç programcı gerekir?. Kod yazma hızının orantılı olduğunu varsayarsak Daha önce yazılmış kodu korumak için kaç programcı gerekir?, şunu elde ederiz:

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

Kodun bakımı için gereken işçilik maliyetlerinin hacmiyle orantılı olduğunu varsaymak doğaldır:

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

veya

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

Nereden

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

Kolayca entegre edilebilecek bir diferansiyel denklem elde ediyoruz. İlk anda kod miktarı sıfırsa, o zaman

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

at Daha önce yazılmış kodu korumak için kaç programcı gerekir? fonksiyon Daha önce yazılmış kodu korumak için kaç programcı gerekir?Ve Daha önce yazılmış kodu korumak için kaç programcı gerekir?. Bu da zamanla yeni işlevsellik geliştirmenin kademeli olarak sıfıra indirilmesi ve tüm kaynakların desteğe aktarılması anlamına geliyor.

Ancak eğer bu süre içerisinde Daha önce yazılmış kodu korumak için kaç programcı gerekir? kod geçerliliğini yitirir ve desteklenmeyi bırakırsa, bir seferde destek gerektiren kod miktarı Daha önce yazılmış kodu korumak için kaç programcı gerekir? zaten eşit Daha önce yazılmış kodu korumak için kaç programcı gerekir? O zaman

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

а Daha önce yazılmış kodu korumak için kaç programcı gerekir? geciktirilmiş argümanlı bir diferansiyel denklemin çözümüdür [1]:

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

Böyle bir denklemin çözümü, değerlerin belirtilmesiyle benzersiz bir şekilde belirlenir. Daha önce yazılmış kodu korumak için kaç programcı gerekir? "zamanın başlangıcından önce" Daha önce yazılmış kodu korumak için kaç programcı gerekir?. Kod henüz zamanın ilk anından önce yazılmadığından bizim durumumuzda Daha önce yazılmış kodu korumak için kaç programcı gerekir? at Daha önce yazılmış kodu korumak için kaç programcı gerekir?.

Birkaç örneğe bakalım. Zamanı yıllarla, kod miktarını ise binlerce satırla ölçeceğiz. Bundan dolayı Daha önce yazılmış kodu korumak için kaç programcı gerekir? Onlarcalık değerler kabul edilebilir, 50 ve 100 alacağız. Yani bir yılda geliştirme ekibi sırasıyla elli ve yüz bin satır kod yazacak. İçin Daha önce yazılmış kodu korumak için kaç programcı gerekir? kabul edilebilir değerler şunlar olabilir: Daha önce yazılmış kodu korumak için kaç programcı gerekir?, Daha önce yazılmış kodu korumak için kaç programcı gerekir?, Daha önce yazılmış kodu korumak için kaç programcı gerekir?. Bu, bir geliştirme ekibinin ister çeyrek, ister yarım, ister tam zamanlı olsun, bir yılda yazdığı kod miktarını destekleyebileceği anlamına gelir. Kodun ortalama ömrü olarak şu değerleri belirleyeceğiz: 1, 2 ve 4 yıl. Denklemi sayısal olarak çözerek fonksiyonun davranışına ilişkin örnekler elde ederiz. Daha önce yazılmış kodu korumak için kaç programcı gerekir? bazı parametre kombinasyonları için Daha önce yazılmış kodu korumak için kaç programcı gerekir?.
Daha önce yazılmış kodu korumak için kaç programcı gerekir?
Fonksiyonun davranışı Daha önce yazılmış kodu korumak için kaç programcı gerekir? kod eskidikçe değişti. İşlev artık monoton değildir, ancak dalgalanmalar zamanla "sakinleşir" ve Daha önce yazılmış kodu korumak için kaç programcı gerekir? sabit bir değere kadar. Grafikler şunu gösteriyor: ne kadar çok Daha önce yazılmış kodu korumak için kaç programcı gerekir?, Daha önce yazılmış kodu korumak için kaç programcı gerekir? и Daha önce yazılmış kodu korumak için kaç programcı gerekir?yani kodun eskimesi ne kadar yavaşsa, yeni kodun geliştirilmesi o kadar hızlı ve kodun kalitesi ne kadar düşük olursa, yeni işlevlerin geliştirilmesi için o kadar az kaynak kalacaktır. En azından bir örnek verme arzusu vardı. Daha önce yazılmış kodu korumak için kaç programcı gerekir? sıfıra yakın “sarıldı”. Ancak bu, çok zayıf geliştirme kalitesi göstergelerinin ve uzun süre eskimeyen kodun seçilmesini gerektiriyordu. Sol alt grafikte bile yeni işlevsellik için önemli miktarda kaynak kalıyor. Bu nedenle ilk sorunun doğru cevabı şu şekildedir: teorik olarak - evet, mümkün; pratik olarak - neredeyse hiç.

Cevaplanamayan sorular:

  1. Bu doğru mu Daha önce yazılmış kodu korumak için kaç programcı gerekir? bir miktar sınıra ulaşma eğilimindedir Daha önce yazılmış kodu korumak için kaç programcı gerekir? herkes için Daha önce yazılmış kodu korumak için kaç programcı gerekir?? Herkes için değilse hangileri için?
  2. Bir limit varsa değeri neye bağlıdır? Daha önce yazılmış kodu korumak için kaç programcı gerekir??

İkinci soru. Kod bakımı programcı sayısında sınırsız artışa neden olabilir mi?

Haydi belirtelim Daha önce yazılmış kodu korumak için kaç programcı gerekir? yeni kod geliştirmeye katılan programcıların sayısı. Yukarıdaki gibi, Daha önce yazılmış kodu korumak için kaç programcı gerekir? — belirli bir zamana kadar yazılan kod miktarı Daha önce yazılmış kodu korumak için kaç programcı gerekir?. sonra

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

Kod desteğini meşgul tutun Daha önce yazılmış kodu korumak için kaç programcı gerekir? programcılar. Yaşlanma kodunu dikkate alarak,

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

Nereden

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

Eğer Daha önce yazılmış kodu korumak için kaç programcı gerekir?Sonra

Daha önce yazılmış kodu korumak için kaç programcı gerekir?

Dolayısıyla ikinci sorunun cevabı olumsuzdur: Yeni kod geliştiricilerin sayısı sınırlıysa, kodun eskidiği koşullarda destek, programcı sayısında sınırsız bir artışa neden olamaz.

Sonuç

Dikkate alınan modeller “yumuşak” matematiksel modellerdir [2]. Çok basitler. Bununla birlikte, simülasyon sonuçlarının parametre değerlerine bağımlılığı, gerçek sistemler için beklenene karşılık gelir; bu, modellerin yeterliliği ve yüksek kaliteli tahminler elde etmek için yeterli doğruluk lehine konuşur.

Referanslar

1. Elsgolts L.E., Norkin S.B. Sapma argümanıyla diferansiyel denklemler teorisine giriş. Moskova. Yayınevi "Bilim". 1971.
2. Arnold V.I. “Sert” ve “yumuşak” matematiksel modeller. Moskova. Yayınevi MCNMO. 2004.

Kaynak: habr.com

Yorum ekle