这篇客座文章来自 Cyndi Chin,并宣布了她今年为 Swift 导师计划 所做工作的成果。
在过去的十二周里与 Cyndi 共事绝对是一种乐趣。她的增强功能通过使我们的内部软件包排名算法透明化,有意义地推动了 Swift Package Index 的发展,使软件包作者能够更好地理解我们的搜索结果。
Cyndi 的目标之一是参与从开始到结束交付一些东西,而该过程的结束是在网站上宣布该功能上线!所以,最后我要对 Cyndi 的辛勤工作表示衷心的感谢,并将这篇文章的其余部分交给她,让她能够做出今天的公告。
当您搜索 Swift Package Index 时,我们通过两个主要因素来确定搜索结果的显示顺序:软件包名称和描述中文本的相关性以及基于各种指标的内部评分。
到目前为止,此评分在网站上是公开不可见的,但从今天开始,我们在每个 软件包维护者页面 的新的 软件包评分 部分中公开发布它。我们还部署了两个有助于评分的其他指标。
什么是软件包评分?
结合搜索查询的相关性,我们使用软件包评分来部分影响 Swift Package Index 上搜索结果的排序。新信息使软件包作者和维护者可以深入了解我们如何计算软件包评分,以及该计算所依赖的指标,例如软件包的活跃维护程度、是否具有文档、测试以及各种其他因素。

虽然用于计算软件包评分的算法 一直都是公开可用的,但期望人们浏览源代码来查看我们如何对软件包进行评分是不合理的。今天的发布使评分过程更加透明。
评分特征
软件包评分目前基于十个评分特征进行评估。以前,我们依靠八个属性来确定软件包的评分。
- 软件包是否已存档(最多 20 分)
- 软件包是否具有与 App Store 兼容的开源许可证(最多 10 分)
- 发布数量(最多 20 分)
- 星星数量(最多 37 分)
- 依赖项数量(最多 5 分)
- 最新活动(最多 15 分)
- 软件包是否具有文档(最多 15 分)
- 贡献者数量(最多 10 分)
添加新的评分特征
除了在维护者页面上引入软件包评分部分外,我们还在评估中加入了两个额外的评分特征。
- 软件包是否具有任何测试目标(最多 5 分)
- 软件包是否具有 README 文件(最多 15 分)
软件包评分始终有进一步改进的空间,这十个特征只是使此评分更全面的开始。
查找您的软件包评分
作为软件包作者,如果您想查看您的软件包评分的详细信息,请在您的软件包页面的右侧边栏底部找到“您维护此软件包吗?”部分,您将在末尾找到评分细目。

如果您对软件包评分有任何反馈或关于如何改进它的建议,我们很乐意在我们的 讨论论坛 中听到您的想法。我们感谢您的任何贡献,因为我们将继续增强软件包评分系统。
作为本文的最后一点说明,我无法表达我对 Dave 作为我在 Swift 导师计划中的导师的感激之情。在他的指导下为该项目做出贡献是一次令人难以置信的学习经历,我感谢他为我提供的知识、支持和启发。谢谢你,Dave!