API 穩定性與發佈類型
API 穩定性
Koin 專案致力於在不同版本間維持高度相容性。Kotzilla 團隊與所有活躍的維護者,努力確保新發佈版本中引入的任何變更、增強功能或最佳化,皆不會破壞現有應用程式。我們理解穩定且可預測的升級路徑對使用者而言至關重要,我們也努力在發展 API 時將中斷降至最低。
實驗性 API - @KoinExperimentalAPI
為促進創新並同時收集寶貴的社群回饋,我們在 @KoinExperimentalAPI
註解下引入新功能和 API。此指定表示:
- 活躍開發中: 該 API 仍處於設計階段,並且可能會變更。
- 鼓勵提供回饋: 我們邀請開發者測試這些功能並分享他們的經驗,協助我們完善並改進設計。
- 潛在的破壞性變更: 因為這些 API 屬於實驗性質,它們可能會在後續發佈版本中根據社群輸入進行修改或移除。
棄用政策 - @Deprecated
為確保 API 部分內容逐步淘汰時能順利過渡,Koin 使用 @Deprecated
註解明確標記這些區域。我們的棄用策略包括:
清晰的警告:棄用的 API 會附帶一則訊息,指出建議的替代方案或棄用的原因。
棄用級別:
- 警告: 表示儘管 API 仍可使用,但不鼓勵其使用,應盡早替換。
- 錯誤: 表示該 API 已不再打算使用,並且無法編譯,確保重要變更能及時處理。
這種方法有助於開發者識別和更新依賴過時 API 的程式碼,減少技術債務,並為更簡潔、更穩固的程式碼庫鋪平道路。ReplaceWith
可與 API 一併提供,視更新的複雜性而定。
內部 API - @KoinInternalAPI
對於嚴格用於 Koin 框架內部使用的功能,我們引入 @KoinInternalAPI
註解。這些 API 不屬於公開契約的一部分,並且:
- 僅限內部使用: 僅為 Koin 的內部機制而設計。
- 可能變更: 未來發佈版本中可能在不另行通知的情況下進行修改或移除。
- 避免外部使用: 為維持長期相容性,不鼓勵開發者在其應用程式碼中使用這些 API。
使用 Kotlin 的 @OptIn 註解選擇啟用
Koin 中實驗性 API 和棄用 API 的使用都需要選擇啟用,以確保開發者完全知曉該 API 的狀態和潛在風險。透過使用 Kotlin 的 @OptIn
註解,您明確承認您的程式碼依賴於屬於實驗性質或已標記為棄用的 API。
發佈類型
Koin 遵循語義化版本控制 (SemVer),並帶有額外的字首識別符,以表示每個發佈版本的成熟度和預期用途。我們使用的字首包括:
- 發佈候選版 (RC): 這些發佈版本是穩定版本的完整功能候選版。它們會進行最終測試和完善。雖然 RC 版本旨在高度相容,但根據最終回饋,在正式發佈之前仍可能發生微小變更。
- Alpha / Beta: Alpha 和 Beta 版本主要用於測試和回饋。它們通常包含實驗性功能,並且可能不完全符合穩定 API 的保證。鼓勵開發者在非生產環境中試用這些發佈版本,以協助識別潛在問題並引導未來的改進。