Güncelleme sürümleri gerçekten ne anlama geliyor?


18

Birçok yazılım güncellemesi v0.1 ila v0.2 ila v2.6.5.6'nın şemasını takip eder . Yazılımdaki bu "güncellemeler" ne anlama geliyor? Her zaman takip edilen bir endüstri standardı var mı veya programcılar güncellemeyi yükseltmeye veya daha fazla ondalık sayı eklemeye devam ediyor mu?


12
@ S.Lott Programlama sahnesinde oldukça yeni olduğum için özellikleri bilmiyordum. Gelebilmemi istemenin en iyi yolu bu.
James Mertz

9
@ S.Lott, kafeini kes, efendim, sizi huzursuz ediyor.
ocodo

2
@ S.Lott soruyu daha iyi hale getirmek için uygun gördüğünüz gibi düzenlemek için çekinmeyin. Ne aradığımı bildiğini hissediyorum. Ancak, verilen cevapların çok iyi olduğunu düşünüyorum. Ayrıca, önceki yorumumdaki oyları değerlendirerek, elimden gelenin en iyisini yaptığımı ve sorunun olduğu gibi olduğunu hissediyorum. Ancak eleştirileri ve düzenlemeleri memnuniyetle karşılıyorum. Uygun gördüğünüz gibi yapın. Benim için yalnız bırakıyorum.
James Mertz

1
@ S.Lott Soru benim gibi oldukça açık görünüyor. Belirli bir standart yazma organizasyonunu listelemenin önemli bir gelişme olacağını düşünmüyorum. Aksini düşünüyorsanız, düzenleme yapmaktan çekinmeyin. Bunun için temsilciniz var.
Adam Lear

3
@ S.Lott: "Bir endüstri standardı var mı?" Tamamen iyi. Evet, endüstri standartları var! Onları kimin yazdığı önemli değil: KronoS, hangi sürümlerin ne anlama geldiğini bilmek istiyor, ne kadar ayrıntılı gittiğini belirtmek onun seçimi ... Belki de soruyu geniş olarak düşündüğünüzü söylemeliydiniz? Sadece ayrıntılara çarpmak kullanıcıya bunu açıklamaz, bir kullanıcıya tanımlamasını söyler: kelime, kullanıcıya bunu açıklamaz, ilk yorumunuz kullanıcı için bunu netleştirdikten sonra anlamsızdır.
Tamara Wijsman

Yanıtlar:


16

Shaun'un dediği gibi, gerçekten bir standart yok. Bazı şirketler diğerlerine göre daha iyi sürüm oluşturma uygulamalarına sahiptir (Büyük sürüm numaralarını atlayan satıcılarla ve daha sonra aynı xy birkaç sürümde takılı kalan diğer satıcılarla uğraştım).

Bunu söyleyen Gravatars'ın mucidi ve GitHub'un kurucusu ( Tom Preston-Werner ) ' Semantik Versiyonlama ' için okumaya değer bir belge yazdı .

İşte giriş dışında:

Bu soruna bir çözüm olarak, sürüm numaralarının nasıl atandığını ve artırıldığını belirleyen basit bir kurallar ve gereksinimler kümesi öneriyorum. Bu sistemin çalışması için önce herkese açık bir API bildirmeniz gerekir. Bu dokümantasyondan oluşabilir veya kodun kendisi tarafından uygulanabilir. Ne olursa olsun, bu API'nın açık ve kesin olması önemlidir. Herkese açık API'nızı belirledikten sonra, sürüm numaranızdaki belirli artışlarla değişiklikleri değiştirirsiniz. XYZ (Major.Minor.Patch) sürüm biçimini düşünün. API sürümünü etkilemeyen hata düzeltmeleri yama sürümünü, geriye dönük olarak uyumlu API eklemelerini / değişikliklerini küçük sürümü artırır ve geriye dönük uyumsuz API değişiklikleri ana sürümü artırır.

Bu sisteme "Anlamsal Sürüm Oluşturma" diyorum. Bu şema altında, sürüm numaraları ve bunların değiştirilme şekli, temel kod ve bir sürümden diğerine değiştirilenler hakkında anlam taşır.


7

4 haneli genellikle en azından çalıştığım yerde MajorV.MinorV.PatchNum.BuildNum olur.

Şahsen Ubuntu'nun versiyonlama şemasını tercih ediyorum - hayatı çok daha kolay hale getiriyor.


Şemaları nedir? Neden onları tercih ediyorsun?
James Mertz

3
Ubuntu 10.10 = Ekim 2010, Ubuntu 10.04 = Nisan 2010, Ubuntu 11.04 = Aprial 2011, Ubuntu 9.10 = Ekim 2009 vb. Bu, Shaun'un Wikipedia bağlantısında belirtilmiştir.
Meslek

2
Tarihleri ​​sürüm numaraları olarak kullanmanın güzel yanı - bazı garip zaman paradoksu olmadıkça - sürüm numaranızın her zaman doğru sırada olacağıdır. Çoğumuz için, bugünün 2011.02.13 olduğunu hatırlamak, yeni sürümün hangi versiyonunun olması gerektiğini anlamaya çalışmaktan daha kolaydır.
jmort253

@ jmort245, Kesinlikle! İnsan yapımı sistemler oldukça dağınık. Korkunç bankalar yılda 360, 362, 365, 366 vb. Gün olduğunu düşünüyorlar. Versiyon sistemi bu aptal yaratımlardan bir diğeri. Zaman damgaları bizi düşündürmese de, 20050207'nin okunması ve 502'den biraz daha uzun sürmesi gerekiyor. Hangi yazılım ayda bir kereden daha sık yayınlanıyor?
Meslek

2
@job: Ancak sürümleri kullanmak, özellikleri belirli büyük veya küçük sürümlere bağlamanızı sağlar. Yani sürüm 2 varsa, sürüm 1 sürüm X olmasa da X özelliği olduğunu biliyorum.
Martin York

6

Kısa versiyon, standart olmaması ve şirketlerin istediklerini yapmasıdır. Esasen, ne kadar çok numaranız varsa, her sayının temsil ettiği değişiklik miktarı o kadar az olur. Genellikle, x'deki xa değişikliğinin büyük sürümleri (büyük geliştirme / özellik sunumları) ve y küçük sürümleri (önemli ince ayarlar veya hata düzeltmeleri) ifade ettiği en azından xy sürümünü görürsünüz. Bu ikisinden sonraki daha fazla ondalık sayı, genellikle daha hızlı ve daha küçük düzeltmeleri temsil eden küçük içerik yapıları veya yamalar etrafında dönmesine rağmen, şirket içinde dahili olarak farklı şeyler ifade edebilir.

Wikipedia'nın bunu daha ayrıntılı olarak kapsayan bir makalesi var.


3

Sürüm numaralarının amacı, sorun raporları için bir referans sağlamaktır. Tek şart, her sürümün benzersiz bir sürüm numarasına sahip olmasıdır. Bazı rakamlar pazarlama tarafından yönlendirilir - daha büyük tam sayıların satılması daha kolaydır ve 10 (Romen rakamı X) gibi güç sayıları gerçekten akılda kalıcıdır. Bazı insanlar semantik sürümlemenin bazı varyasyonlarını kullanır:

MAJOR.MINOR.MICRO.BUILD

  • Büyük artışlar: uyumsuz değişiklikler veya kullanıcı arayüzünün tamamen yeniden tasarlanması
  • Küçük artışlar: aynı ana sürüm numarasındaki önceki sürümlerle uyumlu yeni özellikler eklendi
  • Mikro artışlar: hata düzeltme sürümü
  • Derleme numarası: derleyici tarafından oluşturulur veya sürüm kontrolünden alınır

Birçok grup sürümlerinde YAPI numarasını düşürür. Genellikle sadece test ve geliştirme grupları arasında kullanışlıdır.

Bazı gruplar, tek sayılı MINOR artışları deneysel yapılar için ve hatta numaralı MINOR artışları üretim sürümleri için ek anlambilim ekler ( Linux çekirdeği bu yaklaşımı kullanır).

Sonuç olarak, daha yeni sürümler daha yüksek sürüm numaraları kullanmaktan başka standart yoktur ve her sürüm numarası benzersizdir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.