Go to file
xxq250 b775f83383 支持测试环境 2024-11-06 11:10:53 +08:00
maturityAnalyse 支持测试环境 2024-11-06 11:10:53 +08:00
static init new pro 2024-11-04 17:46:33 +08:00
.gitignore add deploy tools 2024-11-04 18:00:42 +08:00
Dockerfile add deploy tools 2024-11-04 17:54:48 +08:00
db.sqlite3 init new pro 2024-11-04 17:46:33 +08:00
manage.py init new pro 2024-11-04 17:46:33 +08:00
readme.md add readme 2024-11-04 17:48:17 +08:00
requirements.txt add deploy tools 2024-11-04 17:54:48 +08:00

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. 评分使用建议

  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: 总体成熟度评分。