319 lines
11 KiB
Markdown
319 lines
11 KiB
Markdown
# 开源项目评分标准说明文档
|
|
|
|
## 1. 概述
|
|
|
|
本评分系统旨在全面评估开源项目的质量、活跃度和成熟度。评分体系包含多个维度,每个维度都有其特定的评分标准和改进建议。
|
|
|
|
## 2. 评分维度
|
|
|
|
### 2.1 基础要素评分
|
|
|
|
## 开源许可证评分
|
|
|
|
- **满分标准**: 使用标准开源许可证(MIT/Apache/GPL等) - 100分
|
|
- **不合格标准**: 无许可证 - 0分
|
|
- **改进建议**: 建议使用标准的开源许可证以明确项目的使用条款和限制
|
|
|
|
### 2.2 问题处理评分
|
|
|
|
## 未解决issue评分
|
|
|
|
- **优秀**: 未解决issue较少 (80-100分)
|
|
- **良好**: 未解决issue较多 (60-80分)
|
|
- **待改进**: 未解决issue很多 (0-60分)
|
|
- **改进建议**: 保持适度的未解决issue数量,及时处理重要issue
|
|
|
|
## 已解决issue评分
|
|
|
|
- **优秀**: 已解决issue很多 (80-100分)
|
|
- **良好**: 已解决issue较多 (60-80分)
|
|
- **待改进**: 已解决issue较少 (0-60分)
|
|
- **改进建议**: 提高issue解决率,保持良好的问题跟踪和处理机制
|
|
|
|
### 2.3 安全性评分
|
|
|
|
包含四个等级的安全警告评分:
|
|
|
|
- 低风险安全警告 (100分/0分)
|
|
- 中等风险安全警告 (100分/0分)
|
|
- 高风险安全警告 (100分/0分)
|
|
- 严重风险安全警告 (100分/0分)
|
|
|
|
每个等级的评分标准:
|
|
|
|
- **满分标准**: 无相应级别警告
|
|
- **不合格标准**: 存在多个相应级别警告
|
|
- **改进建议**: 根据风险等级优先处理安全问题,确保项目安全性
|
|
|
|
### 2.4 社区活跃度评分
|
|
|
|
## Star数评分
|
|
|
|
- **优秀**: Star很多 (80-100分)
|
|
- **良好**: Star较多 (60-80分)
|
|
- **待改进**: Star较少 (0-60分)
|
|
- **改进建议**: 提高项目影响力,完善文档和功能以吸引更多用户关注
|
|
|
|
## 关注者评分
|
|
|
|
- **优秀**: 关注者很多 (80-100分)
|
|
- **良好**: 关注者较多 (60-80分)
|
|
- **待改进**: 关注者较少 (0-60分)
|
|
- **改进建议**: 增加项目曝光度,保持更新以维持用户关注度
|
|
|
|
## Fork数评分
|
|
|
|
- **优秀**: 分支数很多 (80-100分)
|
|
- **良好**: 分支数较多 (60-80分)
|
|
- **待改进**: 分支数较少 (0-60分)
|
|
- **改进建议**: 鼓励社区贡献,完善协作指南以促进分支开发
|
|
|
|
### 2.5 开发活跃度评分
|
|
|
|
## 提交次数评分
|
|
|
|
- **优秀**: 提交次数很多 (80-100分)
|
|
- **良好**: 提交次数较多 (60-80分)
|
|
- **待改进**: 提交次数较少 (0-60分)
|
|
- **改进建议**: 保持稳定的开发活跃度,定期提交代码更新
|
|
|
|
## 开发者数量评分
|
|
|
|
- **优秀**: 开发者数量很多 (80-100分)
|
|
- **良好**: 开发者数量较多 (60-80分)
|
|
- **待改进**: 开发者数量较少 (0-60分)
|
|
- **改进建议**: 扩大开发团队,培养核心贡献者
|
|
|
|
## 发布版本数评分
|
|
|
|
- **优秀**: 发布版本数很多 (80-100分)
|
|
- **良好**: 发布版本数较多 (60-80分)
|
|
- **待改进**: 发布版本数较少 (0-60分)
|
|
- **改进建议**: 建立规范的版本发布流程,保持稳定的迭代节奏
|
|
|
|
## 3. 总体成熟度评分
|
|
|
|
- **优秀**: 项目成熟,维护良好 (80-100分)
|
|
- **良好**: 项目稳定,有待改进 (60-80分)
|
|
- **一般**: 项目基本可用,需要加强维护 (40-60分)
|
|
- **待改进**: 项目初期或疏于维护 (0-40分)
|
|
- **改进建议**: 根据各项分值改进薄弱环节,提高项目整体质量
|
|
|
|
## 4. 评分使用建议
|
|
|
|
1. 定期进行评分,跟踪项目发展状况
|
|
2. 针对低分项优先改进
|
|
3. 关注安全警告,及时处理安全问题
|
|
4. 持续完善文档和社区建设
|
|
5. 保持稳定的更新和维护频率
|
|
|
|
## 5.接口文档
|
|
|
|
### 接口名称
|
|
|
|
项目成熟度分析接口
|
|
|
|
### 接口路径
|
|
|
|
```
|
|
/maturityAnalyse/
|
|
```
|
|
|
|
### 请求方法
|
|
|
|
```
|
|
GET
|
|
```
|
|
|
|
### 请求参数
|
|
|
|
| 参数名 | 类型 | 是否必填 | 描述 |
|
|
| ---------- | ------ | -------- | ------------------ |
|
|
| owner | string | 是 | GitLink 仓库拥有者 |
|
|
| repository | string | 是 | GitLink 仓库名称 |
|
|
|
|
### 示例请求
|
|
|
|
```
|
|
bash
|
|
|
|
|
|
复制代码
|
|
GET /maturityAnalyse/?owner=xuos&repository=xiuos
|
|
```
|
|
|
|
### 返回格式
|
|
|
|
返回数据为 JSON 格式,结构如下:
|
|
|
|
```
|
|
{
|
|
"data": {
|
|
"scores": {
|
|
"license_score": {
|
|
"score": 100,
|
|
"description": "开源许可证评分",
|
|
"criteria": {
|
|
"100": "使用标准开源许可证(MIT/Apache/GPL等)",
|
|
"0": "无许可证"
|
|
},
|
|
"suggestion": "建议使用标准的开源许可证以明确项目的使用条款和限制"
|
|
},
|
|
"open_issue_score": {
|
|
"score": 1,
|
|
"description": "未解决issue评分",
|
|
"criteria": {
|
|
"80-100": "未解决issue较少",
|
|
"60-80": "未解决issue较多",
|
|
"0-60": "未解决issue很多"
|
|
},
|
|
"suggestion": "保持适度的未解决issue数量,及时处理重要issue"
|
|
},
|
|
"closed_issue_score": {
|
|
"score": 0,
|
|
"description": "已解决issue评分",
|
|
"criteria": {
|
|
"80-100": "已解决issue很多",
|
|
"60-80": "已解决issue较多",
|
|
"0-60": "已解决issue较少"
|
|
},
|
|
"suggestion": "提高issue解决率,保持良好的问题跟踪和处理机制"
|
|
},
|
|
"low_advisory_score": {
|
|
"score": 100,
|
|
"description": "低风险安全警告评分",
|
|
"criteria": {
|
|
"100": "无低风险警告",
|
|
"0": "多个低风险警告"
|
|
},
|
|
"suggestion": "定期检查并修复安全隐患,即使是低风险问题也应重视"
|
|
},
|
|
"moderate_advisory_score": {
|
|
"score": 100,
|
|
"description": "中等风险安全警告评分",
|
|
"criteria": {
|
|
"100": "无中等风险警告",
|
|
"0": "多个中风险警告"
|
|
},
|
|
"suggestion": "优先处理中等风险安全问题,避免安全隐患扩大"
|
|
},
|
|
"high_advisory_score": {
|
|
"score": 100,
|
|
"description": "高风险安全警告评分",
|
|
"criteria": {
|
|
"100": "无高风险警告",
|
|
"0": "多个高风险警告"
|
|
},
|
|
"suggestion": "高风险安全问题必须立即处理,可考虑发布安全补丁版本"
|
|
},
|
|
"critical_advisory_score": {
|
|
"score": 100,
|
|
"description": "严重风险安全警告评分",
|
|
"criteria": {
|
|
"100": "无严重风险警告",
|
|
"0": "多个严重风险警告"
|
|
},
|
|
"suggestion": "严重安全问题需要紧急修复并及时通知用户更新"
|
|
},
|
|
"stars_score": {
|
|
"score": 42,
|
|
"description": "项目Star数评分",
|
|
"criteria": {
|
|
"80-100": "Star很多",
|
|
"60-80": "Star较多",
|
|
"0-60": "Star较少"
|
|
},
|
|
"suggestion": "提高项目影响力,完善文档和功能以吸引更多用户关注"
|
|
},
|
|
"watching_score": {
|
|
"score": 100,
|
|
"description": "项目关注者评分",
|
|
"criteria": {
|
|
"80-100": "关注者很多",
|
|
"60-80": "关注者较多",
|
|
"0-60": "关注者较少"
|
|
},
|
|
"suggestion": "增加项目曝光度,保持更新以维持用户关注度"
|
|
},
|
|
"fork_score": {
|
|
"score": 53,
|
|
"description": "项目分支数评分",
|
|
"criteria": {
|
|
"80-100": "分支数很多",
|
|
"60-80": "分支数较多",
|
|
"0-60": "分支数较少"
|
|
},
|
|
"suggestion": "鼓励社区贡献,完善协作指南以促进分支开发"
|
|
},
|
|
"commits_number_score": {
|
|
"score": 100,
|
|
"description": "提交次数评分",
|
|
"criteria": {
|
|
"80-100": "提交次数很多",
|
|
"60-80": "提交次数较多",
|
|
"0-60": "提交次数较少"
|
|
},
|
|
"suggestion": "保持稳定的开发活跃度,定期提交代码更新"
|
|
},
|
|
"developer_number_score": {
|
|
"score": 100,
|
|
"description": "开发者数量评分",
|
|
"criteria": {
|
|
"80-100": "开发者数量很多",
|
|
"60-80": "开发者数量较多",
|
|
"0-60": "开发者数量较少"
|
|
},
|
|
"suggestion": "扩大开发团队,培养核心贡献者"
|
|
},
|
|
"release_number_score": {
|
|
"score": 100,
|
|
"description": "发布版本数评分",
|
|
"criteria": {
|
|
"80-100": "发布版本数很多",
|
|
"60-80": "发布版本数较多",
|
|
"0-60": "发布版本数较少"
|
|
},
|
|
"suggestion": "建立规范的版本发布流程,保持稳定的迭代节奏"
|
|
},
|
|
"overall_maturity_score": {
|
|
"score": 76.61538461538461,
|
|
"description": "总体成熟度评分",
|
|
"criteria": {
|
|
"80-100": "项目成熟,维护良好",
|
|
"60-80": "项目稳定,有待改进",
|
|
"40-60": "项目基本可用,需要加强维护",
|
|
"0-40": "项目初期或疏于维护"
|
|
},
|
|
"suggestion": "根据各项分值改进薄弱环节,提高项目整体质量"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### 返回字段说明
|
|
|
|
- data
|
|
|
|
: 返回的数据对象。
|
|
|
|
- scores
|
|
|
|
: 各项评分的详细信息。
|
|
|
|
- **license_score**: 开源许可证评分。
|
|
- **open_issue_score**: 未解决 issue 的评分。
|
|
- **closed_issue_score**: 已解决 issue 的评分。
|
|
- **low_advisory_score**: 低风险安全警告评分。
|
|
- **moderate_advisory_score**: 中等风险安全警告评分。
|
|
- **high_advisory_score**: 高风险安全警告评分。
|
|
- **critical_advisory_score**: 严重风险安全警告评分。
|
|
- **stars_score**: 项目 Star 数评分。
|
|
- **watching_score**: 项目关注者评分。
|
|
- **fork_score**: 项目分支数评分。
|
|
- **commits_number_score**: 提交次数评分。
|
|
- **developer_number_score**: 开发者数量评分。
|
|
- **release_number_score**: 发布版本数评分。
|
|
- **overall_maturity_score**: 总体成熟度评分。
|
|
|