Versiyonlama nedir ve nasıl yapılır?
Kullandığımız yazılımsal ürünlerin sağında solunda v1.4.3 gibi numaralandırmalar illaki gözümüze çarpmıştır. Bunlar versiyonlama denmektedir. Peki neye göre ve nasıl yapılır bu versiyonlama?
Neye göre ve nasıl yapıldığı, firmanın sektördeki pozisyonuna, yaptığı işlere göre tamamen farklılık gösterebilecek bir durumdur. Dünya genelinde sabit bir versiyonlama tekniği olmamakla birlikte, kullanılan teknikler birbirleriyle oldukça benzerdir.
Bir örnek ile anlatmaya çalışacağım. Hepimizin kullandığı akıllı telefonlarımızda ki uygulamalardan veya işletim sisteminden bildirim alırız yeni güncelleme var diye. Peki bunları nasıl sınıflandırıyorlar.
Elimizde bir mobil uygulama olduğunu varsayalım. Uygulamamızın versiyonu yayına alındığı ilk anda 1.0.0 olsun, şimdi de gelen güncellemelerle birlikte versiyonlamanın nasıl yapıldığı kısmına geçelim.
Neye göre ve nasıl yapıldığı, firmanın sektördeki pozisyonuna, yaptığı işlere göre tamamen farklılık gösterebilecek bir durumdur. Dünya genelinde sabit bir versiyonlama tekniği olmamakla birlikte, kullanılan teknikler birbirleriyle oldukça benzerdir.
Bir örnek ile anlatmaya çalışacağım. Hepimizin kullandığı akıllı telefonlarımızda ki uygulamalardan veya işletim sisteminden bildirim alırız yeni güncelleme var diye. Peki bunları nasıl sınıflandırıyorlar.
Elimizde bir mobil uygulama olduğunu varsayalım. Uygulamamızın versiyonu yayına alındığı ilk anda 1.0.0 olsun, şimdi de gelen güncellemelerle birlikte versiyonlamanın nasıl yapıldığı kısmına geçelim.
Versiyonlama genel olarak 3 lü kullanım;
- Majör versiyon
- Minör versiyon
- Yama versiyon
olarak kabul edilir.
1. Uygulama yeni bir şey oldu (Majör değişiklik):
Uygulamamızı güncelledik. Bir sürü değişiklik gelmiş; arayüz değişmiş, kullandığımız fonksiyonlar da ciddi farklılıklar var, “yeni güncellem ile artık bambaşka şeyler yapabiliyorum” diyebiliyoruz. Alın size majör değişiklik! Uygulamamız, versiyon 2.0.0’a fırladı.✈️
Detay:
Majör versiyon, projede büyük değişiklikler gerçekleştiğinde veya altyapı değişikliklerinde değişime uğrar. Proje release (yayınlanma süreci) olana kadar majör versiyon 0 olarak projeye başlanır. Release olunca 1.0.0 şekilde proje versiyonlaması devam edilir.
Örnekleme için bir tane web projesini örnek alalım. Bir web projesinde altyapı olarak tek proje olarak açıldıktan sonra servis odaklı mimariye geçirilmesi bir majör değişikliktir. Database için mssql kullanılırken mysql kullanılmasından oluşacak alt yapı değişikliği majör değişikliktir. Projenin tekrar yazılması, farklı bir yazılım dilinde yazılması majör değişiklik olarak kabul edilir.
Detay:
Majör versiyon, projede büyük değişiklikler gerçekleştiğinde veya altyapı değişikliklerinde değişime uğrar. Proje release (yayınlanma süreci) olana kadar majör versiyon 0 olarak projeye başlanır. Release olunca 1.0.0 şekilde proje versiyonlaması devam edilir.
Örnekleme için bir tane web projesini örnek alalım. Bir web projesinde altyapı olarak tek proje olarak açıldıktan sonra servis odaklı mimariye geçirilmesi bir majör değişikliktir. Database için mssql kullanılırken mysql kullanılmasından oluşacak alt yapı değişikliği majör değişikliktir. Projenin tekrar yazılması, farklı bir yazılım dilinde yazılması majör değişiklik olarak kabul edilir.
2. Ufak şeyler ekledik – çıkardık (Minor değişiklik):
Uygulamamıza bir güncelleme daha geldi. Ve bir de baktık ki uygulamanın bir veya birden fazla kısmına müdahil olabiliyoruz. Veya uygulamanın renkleri değişmiş, veya yazı karakterleri, veya ek bir özelliğimiz daha var vs. Uygulama oldu mu sana 2.1.0
Detay;
Minör versiyon, projeye yeni eklentilerin, özelliklerin eklenmesi sonucunda oluşan versiyonlamadır. Müşteri var olan bir sayfaya yeni bir alanın eklenmesini isteyebilir, yeni bir sayfa eklenmesini isteyebilir, Front-end üzerinden değerlendirirsek sayfa geçiş efektini beğenilmemesinden dolayı efektteki değişiklik minör versiyon değişiklikleridir. Web projesinde E-ticaret yapan bir firma yeni bir alan eklenme, siteye arama bölümünün eklenmesi, yönetim panelinde çoklu resim ekleme özelliğinin eklenmesi istemesi minör versiyon değişikliği olarak kabul edilir.
3. Özür dileriz, gözümüzden kaçmış (Bug fix, build):
Bir önceki versiyonda uygulamaya yeni bir özellik gelmişti. Fakat istediğimiz gibi çalışmıyor. Saha koşulları uygun fakat ters giden bir şeyler var… Evet, yine o şirin “güncelleme var!” uyarısı geldi telefonumuza. Altında da açıklaması;
“çöpler dışarı atıldı, bahçedeki çimler biçildi”
İndirdik ve kullanmaya başladık… Uygulamamız artık 2.1.1
Detay;
Yama (Build, Patch) versiyon, projenin hatalarının düzeltilmesinden dolayı oluşan versiyonlamadır. Gerek müşteri gerekse şirket kendi içinde yaptığı testlerde hatalar varsa bu hatalar giderilir ve yama versiyon olarak sunulur.
Neye yarar?
Versiyonlama, son kullanıcıdan ziyade, geliştiriciye fayda sağlar. Şöyle ki;
Geliştiricinin, geliştirdiği uygulamanın veya herhangi yazılımsal ürününün gelişim sürecini adım adım görmesini sağlar. “Neydiiiik, ne olduk…” deyimini, versiyon loglarına bakarak, hakkıyla dile getirmiş olur. Bir sonraki ürün geliştirmede de versiyonlama sürecinde karşılaşabileceği şeylerin öncesinde gardını almış olur.
Hiç yorum yok: