|
||
---|---|---|
maturityAnalyse | ||
static | ||
.gitignore | ||
Dockerfile | ||
db.sqlite3 | ||
manage.py | ||
readme.md | ||
requirements.txt |
readme.md
开源项目评分标准说明文档
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. 评分使用建议
- 定期进行评分,跟踪项目发展状况
- 针对低分项优先改进
- 关注安全警告,及时处理安全问题
- 持续完善文档和社区建设
- 保持稳定的更新和维护频率
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: 总体成熟度评分。