مقالهای از Nate Meyvis با انتقاد از سیستم SemVer (Semantic Versioning) منتشر شده است. نویسنده استدلال میکند که SemVer اغلب به درستی پیشبینی نمیکند که آیا یک بهروزرسانی باعث شکست کد میشود، زیرا مصرفکنندگان معمولاً از تمام جنبههای یک قرارداد API استفاده نمیکنند و ممکن است به جنبههایی تکیه کنند که در قرارداد مشخص نشدهاند. علاوه بر این، طبقهبندی تغییرات به عنوان "breaking" یا "non-breaking" اغلب اشتباه است و بسیاری از توسعهدهندگان قرارداد API مشخصی را منتشر نمیکنند که بتوان تغییرات را بر اساس آن ارزیابی کرد. نویسنده این موضوع را به عنوان یک "Smart Person Recommendation" در نرمافزار توصیف میکند که به طور گسترده پذیرفته شده است، اما ممکن است جایگزینهای بهتری وجود داشته باشد. او همچنین به این نکته اشاره میکند که حتی مدافعان SemVer نیز اغلب از معنای خاص نسخه 0 (major version) غافل میشوند.
مشاهده مطلب اصلی