Bu özel durumda, diğer geliştiricilerin kullandığı dahili olarak kullanılan kitaplığın API'sındaki bir hata.
Bu diğer geliştiriciler davranışın bir özellik olduğunu düşünüyorlarsa, muhtemelen onu kullanmış ve üzerinde çalışan yazılımlar oluşturmuş olabilirler. Hatayı düzeltmek muhtemelen mevcut kodlarını kıracak ve sizi bunun için suçlayacak. Bu, hatayı düzeltmeyi bir takas haline getirir ve dikkate almanız gerekir
hatayı düzeltmek gerçekten önemli mi, örneğin, hata düzeltilmemesi durumunda API'nızın kullanıcılarının uygulamalarını çökmesine izin verme riski yüksek mi? Yoksa bu sadece API'nin tutarlılığıyla mı ilgili?
veya mevcut yazılımı sabit tutmak ve kitaplığınızı geriye doğru uyumlu tutmak daha mı önemlidir?
Sorunun cevabı her zaman basit değildir, API'nızın olası kullanıcı sayısını, yazılımlarını değiştirmek zorunda kalacakları potansiyel işi, API'nizi değiştirirseniz kırılacak yazılım miktarını dikkate almanız gerekir. , aynı zamanda değil API düzeltin.
"Bir sonraki büyük sürümünüzdeki değişikliklerin kırılması listesindeki" hata düzeltme değişikliğini belgelemeniz, müşterilerinizi mutlu etmiyor - bunu yaparsanız, API'yı neden bu kadar izin veremediğinize dair en azından bazı kurşun geçirmez kanıtlar olmalıdır. önceydi. Genellikle geriye dönük uyumluluğu korumak bir hatayı düzeltmekten daha önemlidir. Bu yüzden, yalnızca kullanıcı tabanınız ve yazılımları üzerindeki etkisini tahmin edebiliyorsanız ve en son kütüphane sürümünüze güncelleme yapmaya çalıştıklarında onlar için makul olmayan çabalar üretmeyeceğinizden eminseniz düzeltin. Ve bu konuda iyi bir tahmin yapmak için yeterli bilginiz yoksa, davranışı değiştirmemek daha iyi olacaktır.
(Ve evet, geriye dönük olarak uyumlu olmayan bir API değişikliği yapacaksanız, sürüm numaralarınız bunu açıkça ifade etmelidir, "bugfix" olarak adlandırıp adlandırmamanız önemli değildir).