銹語語言的語義版本仍然破壞了太多應用程式 Rustlang’s Semantic Versioning Still Breaks Too Many Apps

https://thenewstack.io/rustlangs-semantic-versioning-still-breaks-too-many-apps/

RustLang 的語意版本號(Semantic Versioning) 仍然對太多應用程式造成破壞

Rust 社區對於這種全行業性的做法可能遭遇了一些挑戰。開發者在對 1,000 個最受歡迎的 Rust 實用程式進行調查中發現,約 17.2% 的套件至少違反了 SemVer — 每 10 天就會有一款 Rust 套件發生破壞性變更。前端開發者 Chris Krycho 指出,得到正確的 SemVer 是一個基本的溝通問題。

Rust 的語意版本號規格在何時構成一個主要版本上存在歧義,並且可能會引發編譯錯誤或意外行為。

語意版本號的威力在於版本號應該是統一的,因此一個捆綁程式(bundler)可以辨識非破壞性變更,並在下一個建置時自動包含升級,並無需將其破壞。Predrag Gruevski 已經建立了一個名為 cargo-semver-checks 的工具,用於掃描 Rust 套件並標記 SemVer 的違規情況。Gruevski 建議目前仍有約 150 項行為應該被該程式抓到但還未抓到。

Hyrum’s Law 混淆了多個人在一個專案上的工作,顯示出即使是一個微不足道的變更,也容易在不知不覺中造成破壞。部分軟體套件並不遵循語意版本號。其他環境的版本號制定也有其特殊之處。

via The New Stack

July 6, 2024 at 03:14AM

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *