3 min read

Yazılım Sürümünü Daha Anlaşılır Hale Getirmek: Semantic Versioning Rehberi

Mustafa Kürşad BaşerMustafa Kürşad BAŞER
November 27, 2024
Yazılım Sürümünü Daha Anlaşılır Hale Getirmek: Semantic Versioning Rehberi

Semactic versioning (SemVer) yani semantik versiyonlama konusunda kısa ve kolay anlaşılır bir rehber hazırlamak istedim, bunu öğrenmek için doğru yerdesiniz. Gelin başlayalım.

Yazılım geliştirirken ürün sürümünün yönetimi git gide karmaşık bir hale gelebilir. Geliştirme aşaması bittiğinde ürün sorunsuz, kusursuz, tüm durumlara ve uzun yıllar kullanıma uygun çalışmaz. Bir bina inşa etmeye benzer. Yayınlanan güncellemelerle hatalar giderilebilir, ürüne yeni özellikler eklenebilir veya performans iyileştirmeleri yapılabilir. Ancak yapılan değişikliklerin, yazılımı geliştiren geliştiriciler tarafından doğru şekilde anlaşılması önemlidir.

Bu sorunları çözmek adına standartlaştırmalar ortaya çıkar, Semantik Versiyonlama (Semantic Versioning veya kısaca SemVer) da versiyonlama yöntemi olarak ortaya çıkan bir çözümdür ve yazılım geliştirme camiasında kabul görür, kullanılır. Peki, semantik versiyonlama nedir ve nasıl çalışır? Gelin detaylıca inceleyelim.

Semantik Versiyonlamanın Temel Yapısı

Semantik versiyonlama, üç temel sürüm numarası formatı kullanır. Major, minor ve patch.

1. MAJOR (Ana Sürüm):

Geriye dönük uyumluluğu bozan büyük değişiklikler yapıldığında bu sayı artırılır. Örneğin, bir API'de mevcut fonksiyonların davranışı değişirse veya tamamen kaldırılırsa, bu bir ana sürüm artışı gerektirir.

Örnek: 1.0.02.0.0

2. MINOR (Alt Sürüm):

Geriye dönük uyumluluğu bozmadan yeni özellikler eklediğinde artırılır. Mevcut işlevler aynı kalır, ancak kullanıcılar yeni özelliklere erişebilir.

Örnek: 1.2.01.3.0

3. PATCH (Yama Sürümü):

Küçük hata düzeltmeleri ve iyileştirmeler için bu sayı kullanılır. Yeni özellik eklenmez; yalnızca mevcut fonksiyonların sorunları çözülür.

Örnek: 1.2.11.2.2

Örnek:

Major, minor ve patch sürüm artışlarının hangi değişikliklerde kullanıldığını karşılaştırmalı olarak gösteren tablo.

MAJOR.MINOR.PATCH (örneğin, 2.9.4).

  • 2: Ana sürüm, önemli bir değişiklikte artar.
  • 9: Alt sürüm, yeni özellikler eklediğinde artar.
  • 4: Yama sürümü, hata düzeltmelerinde artar.

Güncelleme Sonrası Sürüm Artışı

Major, minor ve patch sürüm artışlarının hangi değişikliklerde kullanıldığını karşılaştırmalı olarak gösteren tablo.

Bir güncelleme sürümü sonrasında, değişiklik türüne göre major, minor veya patch sürümü artırılır. Peki ya diğerleri nasıl güncellenir? Bir örnek üzerinden inceleyelim.

Örneğin sürümün 1.5.9 olduğunu varsayalım.

1. Yama (Patch) Güncelleme Yapıldığında

Yalnızca patch sürüm bir artırılır. 1.5.91.5.10.

2. Minor Güncelleme Yapıldığında

Minor sürüm bir artırılır ve patch sıfırlanır. 1.5.91.6.0.

3. Major Güncelleme Yapıldığında

Major sürüm bir artırılır ve minor ile patch sıfırlanır. 1.5.92.0.0.


Sonuç

Semantik versiyonlama, yazılım geliştirme sürecinde önemli bir rehberdir ve hem geliştiriciler hem de kullanıcılar için büyük kolaylık sağlar. Versiyon numaralarındaki belirgin değişiklikler, yapılan güncellemelerin türünü ve etkilerini açıkça belirtir, bu da yazılımın evrimini daha anlaşılır kılar. Her güncelleme, kullanıcıların ve geliştiricilerin nasıl bir değişiklik bekleyeceklerini anlamalarını sağlar.

Share this post

Link copied!
Mustafa Kürşad Başer

Mustafa Kürşad Başer

Senior Software Engineer

A passionate software engineer who enjoys creating elegant solutions to complex problems. Beyond coding, I am deeply interested in exploring the intersections of technology, art, and human consciousness.

Cookie Preferences

We use cookies to provide you with a better experience. You can customize your settings for detailed information about analytic and advertising cookies.