Sürüm Ne Demek, Numaradaki Üç Sayı Neyi Anlatıyor?

Haberci

SEO UZMANI
Yönetici
Katılım
21 May 2023
Mesajlar
752
Tepki
17
Puan
18
1020




Bir yazılımın "2.4.1" gibi bir numarayla anılması rastgele değil. Yaygın olarak benimsenen bir kural kümesi bu üç sayıya ayrı anlamlar yüklüyor ve numaraya bakarak güncellemenin riskini tahmin etmeyi mümkün kılıyor.

Aşağıda sürüm numarasının parçalarını, hangi değişikliğin hangi basamağı artırdığını, bu kuralların hangi soruna karşı geliştirildiğini ve ön koşulunun ne olduğunu Anlamsal Sürümleme belgesine bakarak topluyoruz.

Üç sayı ne anlatıyor?​


Anlamsal Sürümleme belgesi biçimi net veriyor: sürüm numarası BÜYÜK.KÜÇÜK.YAMA biçiminde yazılıyor.

Her basamağın artırılma koşulu ayrı. Önceki sürümle uyumsuz arayüz değişiklikleri yapıldığında büyük sürüm artırılıyor.

Önceki sürümle uyumlu bir davranış eklendiğinde küçük sürüm artıyor.

Önceki sürümle uyumlu bir hata düzeltmesi yapıldığında ise yama sürümü artırılıyor.

Belge biçimin genişletilebildiğini de belirtiyor: bu üçlünün sonuna ön sunum ve derleme üst verisi gibi etiketler eklenebiliyor.

  • Büyük: Uyumsuz arayüz değişikliği.
  • Küçük: Uyumlu yeni davranış.
  • Yama: Uyumlu hata düzeltmesi.

Hangi soruna karşı geliştirildi?​


Belge çözmeye çalıştığı sorunu adıyla anıyor: bağımlılık cehennemi.

Tarif de veriliyor: sistem büyüdükçe ve yazılıma daha çok paket eklendikçe bu duruma düşme ihtimali artıyor. Çok sayıda bağımlılığı olan sistemlerde yeni bir paket sürümü çıkarmak kâbusa dönüşebiliyor.

Belge iki uç durumu tanımlıyor. Bağımlılıklar çok sıkı belirlenmişse sürüm kitlenmesi tehlikesi doğuyor; yani bağımlı olunan bütün paketlerin yeni sürümünü yükseltmeden istenen paketin sürümü yükseltilemiyor.

Bağımlılıklar çok gevşek belirlenmişse bu kez sürüm çeşitliliği sorunu çıkıyor: gelecekteki sürümlerle aşırı uyumluluk varsayılıyor.

Belgeye göre bu ikisi nedeniyle proje güvenli biçimde ilerletilemiyorsa, bağımlılık cehennemi içindesiniz demektir.

Püf nokta' Alıntı:
Numaranın işlevi tanıtım değil: karşı tarafa "bu güncelleme sizi kırar mı" sorusunun yanıtını vermek.

Ön koşul: tanımlı bir arayüz​


Belge kuralların işleyebilmesi için bir şart koyuyor: sistemin çalışması için önce erişime açık bir arayüzün bulunması gerekiyor.

Bu şart, kuralların neden yalnız kütüphaneler ve paketler için değil, arayüz sunan her yazılım için anlamlı olduğunu gösteriyor.

Arayüz tanımlı değilse "uyumsuz değişiklik" ifadesinin de ölçütü kalmıyor; hangi davranışın söz verildiği belirsiz oluyor.

Ön sunum etiketi ne işe yarıyor?​


Belgenin izin verdiği ek etiketlerden biri ön sunum. Bu, sürümün henüz genel kullanıma hazır sayılmadığını gösteren bir işaret.

Pratikte bunun karşılığı, yeni bir davranışın sınırlı bir kitleyle denenmesi. Aynı numara üzerinden ilerleyen ama kararlı sayılmayan bir hâl bildiriliyor.

Derleme üst verisi ise farklı bir işlev taşıyor: aynı kaynağın hangi derleme adımından çıktığını kaydediyor.

İkisi de üç sayının anlamını değiştirmiyor; üzerine bilgi ekliyor.

Uyumluluk sözü kimi bağlıyor?​


Numaranın anlamı, onu yayımlayan tarafın verdiği bir söz. Karşı taraf bu söze güvenerek bağımlılığını belirliyor.

Bu yüzden kuralların en kırılgan noktası, uyumsuz bir değişikliğin küçük ya da yama basamağında yayımlanması oluyor. Böyle bir durumda numaraya bakarak karar veren bütün kullanıcılar hatalı bilgiyle hareket ediyor.

Belgenin ön koşul olarak tanımlı bir arayüz araması da bu yüzden anlamlı: sözün neyi kapsadığı yazılı değilse, uyumluluk iddiası da denetlenemiyor.

Kurumsal tarafta bu, sürüm notlarının içeriğini belirliyor. Hangi davranışın değiştiği yazılmadan yapılan bir yükseltme duyurusu, numaranın verdiği bilgiyi tamamlamıyor.

Kurallar nereden geliyor?​


Belge kuralların kaynağını da açıklıyor: genel kabul görmüş, hem kapalı hem açık kaynak yazılım uygulamalarına dayanıyor ama bunlarla sınırlı değil.

Yani sistem yeni bir icat olarak değil, yaygın pratiğin yazıya dökülmüş hâli olarak sunuluyor.

Bu, kuralların benimsenmesini de kolaylaştırıyor: ekipler zaten benzer biçimde davranıyor, belge yalnız ortak bir sözlük veriyor.

Pratikte ne değişiyor?​


Numaranın anlamlı olması, güncelleme kararını hızlandırıyor. Yama basamağındaki artış, davranışın aynı kaldığı bir düzeltmeye işaret ediyor.

Küçük basamaktaki artış yeni bir yetenek anlamına geliyor ama mevcut kullanımı bozmuyor.

Büyük basamaktaki artış ise dikkat gerektiriyor; belgeye göre bu, önceki sürümle uyumsuz bir arayüz değişikliği demek.

Bu okuma, bağımlılıkların nasıl sabitleneceğini de belirliyor: hangi basamağa kadar otomatik yükseltmeye izin verileceği bilinçli bir karara dönüşüyor.

Güncelleme sürecinin kurumsal tarafını yazılım güncellemesi yazımızda ele almıştık. Yazılım katmanlarının ayrımını yazılım yazımızda, sürüm seçiminin araç tarafındaki karşılığını ise Visual Studio Code yazımızda anlatmıştık.

Sık Sorulan Sorular​


Sürüm ne demek?
Yazılımın belirli bir hâlini gösteren ve BÜYÜK.KÜÇÜK.YAMA biçiminde yazılan numara.

Hangi değişiklik büyük sürümü artırır?
Önceki sürümle uyumsuz arayüz değişiklikleri.

Küçük ile yama farkı ne?
Küçük, uyumlu yeni davranış eklendiğinde; yama, uyumlu bir hata düzeltmesi yapıldığında artıyor.

Numaranın sonuna ne eklenebilir?
Ön sunum ve derleme üst verisi gibi etiketler.

Kuralların ön koşulu ne?
Sistemin erişime açık, tanımlı bir arayüzünün bulunması.

Özetle​


Sürüm numarası üç basamaktan oluşuyor ve her basamak farklı bir söz veriyor: yama düzeltme, küçük uyumlu ekleme, büyük ise uyumsuz değişiklik. Kurallar bağımlılık yönetimindeki kilitlenme ve aşırı uyumluluk varsayımı sorunlarına karşı geliştirilmiş. İşleyebilmesi için tanımlı bir arayüz gerekiyor.

Bağımlılıklarınızı hangi basamağa kadar otomatik yükseltiyorsunuz?

Güncelleme: 3 Eylül 2026. Anlamsal Sürümleme (Semantic Versioning) belgesinin Türkçe sürümü kontrol edildi.



Dijital Dünyanıza Yön Veren Pusula
 

Ekli dosyalar

  • banner_18.jpg
    banner_18.jpg
    6.3 KB · Görüntüleme: 2
Geri
Üst