Yazılım geliştirirken karmaşıklığı önlemek ve güncel yazılımı takip edebilmek amacıyla Versiyonlama Sistemi kullanılır. Bu yazıda bu sistemin standartlarını inceleyeceğiz.
(Major version).(Minor version).(Revision number).(Build number)
Versiyon sisteminin genel yapısı yukarıdaki şekildedir. Genelde aşağıdaki şekilde de karşınıza gelir.
7.0.6000.16386
8.1.0178.00
11.11
2.7.0.0
2.5.10 / build 6903
2.0 build 0930
0122.1848.2579.33475
2.0.50727.312
2.0.0.1
1.8.20061.20418
9.4.11
Peki bunların anlamları ne? İsterseniz onu da beraber inceleyelim.
- Major Version: Ana versiyon, genellikle sıfırdan bir projeye başlandığında ve henüz müşterilere sunulmadıysa 0 olur. İlk kararlı sürüme ulaşıldığında ise 1 olarak değiştirilir. Sonrası için çoğunlukla API değişmesi gibi köklü değişiklikler için sürüm atlar. Yani, 1.0’dan sonraki Major sürüm değişikliklerinde geriye dönük uyumsuzluklar olacaktır. Major’un 0 sürümü hariç daima müşterinin kullanımına hazırdır. Geriye dönük uyumsuzluk beklenmez.
- Minör Version: Ara versiyon, yazılıma yeni özellik eklendiğinde arttırılır. Her özelik eklendiğinde bu değeri arttıracağız diye bir şey yok.
- Revision Number: Düzeltme versiyonu, hata düzeltme veya dil desteği gibi işlevselliği etkilemeyen durumlarda arttırılır.
Şimdi de isterseniz örnekleyerek sürüm sistemini inceleyelim.
0.1.0 // Yazılımımıza ilk özelliğini ekledik. 0.1.1 // Farkettiğimiz hataları düzelttik. 0.1.2 // Yaptığımız değişikliklerin oluşturduğu hatayı giderdik. 0.2.0 // Yepyeni bir özellik daha ekledik. ... 0.3.5 // Geliştirmelere devam ettik. ... ... 1.0.0 // Hedeflenen ilk sürüm hazır.
Evet en yukarıdaki örneklere bakılacak olursa tek alternatif elbette bu değil. Farklı bir sürüm istemi örneği yapalım.
En çok kullanılan Versiyonlama Sistemlerinden bir diğeri tarih bazlı versiyonlama. Tarihleme yöntemi ile versiyonlama genellikle her kesimden kullanıcının anlayabileceği bir şekilde versiyonlamak için kullanılır. Biz burada yıl-ay-gün şeklinde versiyonlayalım.
18.2.11 // Bir sürüm yayınladık. ... 18.2.14 // Bir hata düzeltmesi yaptık. ... 18.7.16 // Yeni özellikler ekledik. ... ... 19.1.22 // Yazılımı yenileyeceğiz ve bunun için bir altyapı güncellemesi. ... 19.2.11 // Yazılımı baştan başa yeniledik.
Yukarıdan da anlaşılan üzere versiyonlamak için tek bir format yok. Kendi formatınızı kendiniz de oluşturup bu çerçevede geliştirebilirsiniz.
Bir Cevap Yazın