İşlem yükünü / denetimlerini önlemek için normal kuralları atladığınız anlaşılıyor. Bu ... beni ilgilendiriyor.
Yaptığınız şey, artık iç denetim ölçütlerinizi tetiklememek için özellik / alt sürüm numaralarınızı bir yere geri taşımak için ekstra bir sürüm numarasını (küçük PCI rakamınız) bir şekilde kasıtlı olarak yapmaktır.
Her neyse, anlamsal sürüm oluşturma ile ilgili sorunuza ulaşmak için, Anlamsal Sürümlendirme spesifikasyonu şunları belirtiyor:
MAJOR.MINOR.PATCH sürüm numarası verildiğinde:
- Uyumsuz API değişiklikleri yaptığınızda önemli sürüm,
- İşlevleri geriye dönük uyumlu bir şekilde eklediğinizde MINOR sürümü ve
- Geriye dönük uyumlu hata düzeltmeleri yaptığınızda PATCH sürümü.
- Sürüm öncesi ve derleme meta verileri için ek etiketler MAJOR.MINOR.PATCH biçiminin uzantıları olarak mevcuttur .
Vurgu madeni.
Soru şu: ön sürüm / derleme meta verileri için dördüncü karakteri mi kullanıyorsunuz? Ya da temelde bıraktığınız başka bir sürüm göstergesi mi?
Eğer "evet" ise, anlamsal sürüm oluşturma özelliği buna izin verir. "Hayır" ise teknik olarak anlamsal sürümleri takip etmiyorsunuzdur.
Ve daha üst düzey ve daha tartışmalı bir yan soru olarak, bu gerçekten önemli mi?
Katı bir şekilde takip etmek isteyip istemediğiniz, sizin ve ekibinizin vermesi gereken bir karardır. Anlamsal sürüm oluşturmanın amacı API uyumluluğuna yardımcı olmaktır:
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 Versiyonlama" 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.
Sürüm oluşturma API'nın alt kullanıcılarını etkilediğinde daha net hale getirmeye yardımcı olan bir sistemdir.
API'nız benzer şekilde açık olduğu sürece, hangi yolu seçeceğiniz çok büyük bir anlaşma değildir. Anlamsal sürümleme basittir, örneğin 3.4.2 kullanıyorsam ve 3.4.10'a yükseltmem gerekiyorsa, bunu hiçbir şey kırmadan yapabileceğimi biliyorum. Yeni sürüm 3.5.1 ise geriye dönük olarak uyumlu olduğunu biliyorum. Ve sürüm 4.0.1'in kırıcı bir değişiklik olacağını biliyorum.
Hepsi sürüm numaralarının ne anlama geldiğinin bir parçası.
@enderland Evet, temelde. BAŞLICA (PCI) .MINOR (PCI) .FEATURE.HOTFIX + YAPI. Temel olarak, yalnızca PCI (ve daha sonra şirketteki PCI derebileri) dahil olmadan 3. ve 4. bileşeni değiştirmemize izin verilir. Bana göre bu biraz uyuşmuş gibi geliyor, sürüm numarasını yönetme biçiminde haklı olduklarından emin değilim, ancak PCI ve denetim süreci hakkında başka türlü söyleyecek kadar bilgim yok.
Tamam, bu iyi. Sizin için çalışan ve ihtiyaçlarınızı karşılayan bir sisteminiz var. Versiyonlama noktası budur.
API'nız özelse (yalnızca dahili olarak bakar), sizin ve onu kullanan herkes için mantıklı olduğu sürece sürümünüzü gerçekten önemli değildir. Standart bir biçimde sürüm oluşturmanın önemi, API'nızın "bu sürümün ne anlama geldiğini" bilmesi gereken birçok tüketiciniz olduğunda önemlidir.
Rasgele bir versiyonlama sistemine sahip olmak, semantik versiyonlama gibi diğer sistemlere alışkın olan insanları karıştırır. Ancak hiç kimse, sürüm oluşturma sisteminizi, onu oluşturan kişiler dışında kullanmıyorsa - bu gerçekten önemli değil.