Skip to main content

提高存储库代码的质量

评估和修正默认分支上检测到的代码质量问题,以便提高代码库的质量。 随着你的进展,你将看到存储库的代码质量分级有所提高。

谁可以使用此功能?

具有写入访问权限的用户

GitHub Team 或 GitHub Enterprise Cloud

注意

GitHub Code Quality 当前正处于 公共预览版 阶段,并可能会发生变化。 在 公共预览版期间,Code Quality 不会计费,尽管 Code Quality 扫描将使用 GitHub Actions 分钟。

介绍

本教程将指导你了解如何在 GitHub Code Quality 存储库中查看、确定优先级和修正代码运行状况问题,帮助你系统地减少技术债务、提高可靠性和可维护性,并向利益干系人传达影响。

先决条件

  • 已经为您的存储库启用Code Quality。 请参阅“启用 GitHub Code Quality”。
  • 如果您是首次启用 GitHub Code Quality ,请在启用后等待几分钟,以确保默认分支的 CodeQL 扫描能够完全完成。

1.评估存储库的总体代码运行状况

  1. 导航到存储库的 Security and quality 选项卡,然后在“”代码质量下单击 常规发现

  2. “常规发现”仪表板上的概述让您立即了解今天默认分支的状态:

    •      **可维护性分级** 反映了死代码、重复、复杂性、缺少文档和未能遵循最佳做法的发现状态和严重性。
      
    •      **可靠性分级** 反映了针对代码的正确性、性能、错误处理、并发性和可访问性的结果的存在和严重性。
      

    Code Quality 的“常规发现”视图中代码质量评级的屏幕截图。

2. 确定并确定影响最大的发现优先级

在“常规发现”视图中,您将看到存储库默认分支Code Quality上次扫描结果的列表。 这些发现包括:

  • 规则分组,因此可以查看哪些问题类型对代码库影响最大。
  • 分配了 严重性 级别(“错误”、“警告”、“注意”)。

专注于高严重性发现

使用仪表板 筛选器 首先关注最高严重性结果(“错误”),并查看哪些规则生成最多问题。

“常规发现”视图的仪表板筛选器屏幕截图。

若要提高存储库的可维护性或可靠性分级,必须解决(修复或消除)该指标的最高严重性级别的所有发现。

例如,若要将存储库的“可靠性”指标从需要改进提升到合格,需要解决所有影响可靠性的错误级别的问题。 如果你有一个或多个错误级别的发现,则评级不能高于“需要改进”。 请参阅“指标和分级参考”。

3. 调查一组发现并了解上下文

确定具有要解决的多个结果的规则后,可以进一步调查以了解根本问题。

  1. 单击规则名称即可查看该规则的所有发现的详细信息。

    “常规发现”视图中某条规则的屏幕截图。 规则名称以深橙色突出显示。

  2. 单击“ 显示更多”,然后查看规则的说明、建议的修补程序、支持代码示例和引用。

    显示代码质量规则结果的屏幕截图。 文本“显示更多”以深橙色突出显示。

4.选择修正选项

评估所有突出显示的结果,了解有效性、影响和风险。 若要提高质量评级,需要通过选择修复或消除每个发现来解决它。

生成自动修复

如果查找看起来有效且与代码库相关,则可以生成建议的修补程序。

  1. 在单个结果的右侧,单击“生成修复方案”。

  2. 仔细审查建议更改的差异,若同意该更改,单击“打开拉取请求”****。

  3. 在“将自动修复提交到分支”对话框中,选择“打开拉取请求”,然后单击“提交更改”****。

    提示

    目前无法为一组发现批量生成自动修复。

    如果要使用单个 Pull Request 解决多个发现,请重复上述步骤 1 和 2,然后在“提交自动修复到分支”对话框中,使用为第一个自动修复创建的分支名称,然后选择“打开 Pull Request”并 提交更改

    该修复将添加到你分支的现有草稿拉取请求中。

  4. 准备就绪后,将拉取请求状态从“草稿”更改为“准备审阅”,并仔细查看建议的更改。 等待所有 CI 检查和自动化测试完成并通过后,再合并拉取请求。

忽略发现

如果在代码库的上下文中不相关或不可执行,则可以忽略该检测结果。 常见驳回发现的原因包括:

  • 该发现位于不再维护的旧代码中。
  • 团队的编码标准中有一个为众所知的例外。
  • 这是一个误报,不会构成真正的质量风险。

消除不相关的警报可使质量检查专注于有意义的问题。

  1. 若要取消发现,请单击
  2. 该发现将从打开的调查结果列表中消失。 你仍然可以从页面顶部的“已消除”选项卡下查看并重新打开已消除的发现。

5. 衡量改进并传达影响

修正工作完成后,返回到“”常规发现仪表板,查看更新的可靠性与可维护性指标。

向利益干系人传达影响时,请突出显示:

  • “可靠性”或“可维护性”类别的结果数量是否减少
  • 可靠性或可维护性分级的任何 评级更改
  • 实现评级变化所满足的要求。 例如,修正所有“警告”级别的发现导致评级从“中等”更改为“良好”。

使用质量评级的改进和发现数量的减少来证明进展。

6. 强制实施拉取请求的代码质量标准

如果尚未设置拉取请求的质量阈值,请阻止对代码库所做的任何更改,以减少代码库的运行状况。 请参阅“为拉取请求设置代码质量阈值”。

后续步骤