Bu, yalnızca kullanıcılarınıza ne tür bir istikrar garantisi verdiğinize ve kullanıcılarınız için ne kadar acı çekmek istediğinize bağlıdır.
İdeal olarak, API'niz semver kullanır, böylece herhangi bir bozulma değişikliği ana sürüm numarasının artırılmasına neden olur. Uygulamada, bunu neredeyse hiç yapmamak istenir. API bazı paket yöneticisi ile yüklenmiş ise, (örneğin basit bir yükseltme çatışmalar nedeni değil böylece kırılma değişiklikten sonra yeni bir paket adı oluşturmak isteyebilirsiniz myapi2 v2.123.4
vs myapi3 v3.2.1
). Paket yöneticiniz daha sıkı sürüm bağımlılıklarını destekliyorsa (örneğin ~v2.120
, buna benzer bir bağımlılık şartnamesi içermiyorsa v3.*
), bu gereksiz olabilir , ancak farklı paket adlarının uyumsuz sürümlerin yan yana kolayca kullanılabilmesi avantajı vardır. Semver kullanırken bile, bir kullanımdan mahrum kalma süresine sahip olmak mantıklı olabilir.
Semver her zaman geçerli değildir. Öyleyse açık bir istikrar politikası oluşturmak daha önemlidir. Örneğin:
- Deneysel özellikler önceden bildirilmeksizin kaldırılabilir.
- Özellikler güvenlik nedeniyle herhangi bir zamanda kaldırılabilir.
- Diğer özellikler sadece kaldırılacak
- … Serbest bırakılmış bir sürümde onaylandıktan sonra
- … Bu sürümün en az üç aylık olduğu yer
- … Ve ana versiyonda bir çarpma ile işaretlenecektir.
Bu tür politikalar, düzenli olarak yayınlandığında özellikle işe yarar, böylelikle bir yıl gibi net bir amortisman süresi söz konusudur.
API’nin herhangi bir bölümünü kullanımdan kaldırılmış olarak işaretlemenin yanı sıra, kullanımdan kaldırmayı yaygın şekilde bilinir hale getirmelisiniz. Örneğin:
- Değişiminizde gelecekteki yönler ve itirazlar hakkında bir bölüm var.
- İtirazda bulunmadan önce itiraz etme niyetinizi yayınlayın ve kayda değer itirazlar olup olmadığını görmek için toplumu dinleyin.
- Bu değişikliklerden ne gibi faydalar geleceğini söyleyin Kullanıcı tabanınıza bağlı olarak, haber bültenleri, sunumlar, blog yazıları veya basın bültenleri uygun medya olabilir. Döndürmek “müthiş bir yeni özellik yaratıyoruz! (bu yaygın olarak kullanılan eski özelliğin kaldırılmasını gerektirir) ”bağlamı olmayan bir özelliği kaldırmaktan biraz daha az sinir bozucu.
Seçeceğiniz tam kullanımdan çıkarma süresine gelince, öncelikle kullanıcılarınızla yapılan herhangi bir destek sözleşmesini onurlandırmanız gerekip gerekmediğine bakın. Bu tür sözleşmeler, bir süre uyumluluğun korunmasını gerektirebilir. Değilse, aşağı yönde bir etki düşünün. Alt kullanıcılardan daha az hızlı değişmeye çalışın, böylece kendi amortisman döngülerinden geçebilirler. Alt kullanıcılar, değişikliklerinize uyum sağlamak için biraz zaman alacaktır; bu nedenle, hiçbir zaman bir aydan kısa bir süre kullanımdan ayrılmamanız gerekir.