Bug 分类

本页面描述了 WeDot 引擎的 Bug 分类团队在处理 GitHub 仓库中的问题和拉取请求时的参考工作流程。 欢迎各位提出对以下指南的修改建议。

问题管理

我们通过以下操作标注和管理问题(issue):

  • 从列表中设置一个或多个标签
  • 从列表中设置一个里程碑
  • 在项目 dashboard 中跟踪问题
  • 定义一位贡献者作为“指派者”,从 WeDot 引擎组织成员中选择

目前 WeDot 引擎组织在 GitHub 上的贡献者人数有限,我们暂时没有自动指派审核和负责人。所有贡献者都可以接手任何问题,只需在决定接手后在问题工单上提及,并与其他开发人员讨论解决该问题的最佳方法。

目前我们不使用项目 dashboard 功能。

我们希望尽可能地为问题和拉取请求分配标签和相关的里程碑。

标签

WeDot 仓库中当前定义了以下标签

类别

  • 【错误】bug: 描述未正常工作的功能。
  • 【文档】documentation: 与文档相关;带有此标签的合并请求改进了类引用文档;文档内容错误。 与 mdbook 文档相关的问题应在 WeDot-docs 仓库中提交。
  • 【重复】duplicate: 另一个问题的重复。这样的问题应该关闭。
  • 【新增】enhancement: 希望实现的新功能或对现有功能的改进提议。 主 WeDot 仓库不再接受功能请求,请前往 To-Do 仓库。 添加新功能但没有相应提议的合并请求应使用此标签。
  • 【首次】good first issue: 假定这是一个容易解决的问题,非常适合新贡献者熟悉代码库。如果有正在处理的合并请求解决了这个问题,应移除此标签。
  • 【求助】help wanted: 很可能是一个难以解决的问题,需要高优先级地额外关注。
  • 【无效】invalid: 无效的问题。
  • 【提问】question: 即使我们已经有用于讨论问题的社区,当有人在问题工单提问,我们也有义务解答。
  • 【忽略】wontfix: 当我们不打算修复该问题时,应使用此标签。

这些类别用于问题工单的一般分类,在相关时可以组合使用。 一个不明确的请求也至少用*【错误】bug*、【新增】enhancement 或*【提问】question* 中的一个类别来标记问题或合并请求。

范围

  • 2D: 与 2D 特定问题相关。应与以下标签之一结合使用,且不应与 3D 结合使用。
  • 3D: 与 3D 特定问题相关。应与以下标签之一结合使用,且不应与 2D 结合使用。
  • 动画: 与动画系统、编辑器和导入器相关。
  • 资源库: 与资源库中的问题相关。
  • 音频: 与音频功能(低级和高级)相关。
  • 构建系统: 与构建问题相关,无论是与 SCons 构建系统还是编译器特性相关。
  • 代码风格: 与代码库中使用的编程风格相关。
  • 核心: 与核心引擎相关。具体主题会单独列出。
  • Dotnet: 与 C# / Dotnet 绑定相关。
  • 编辑器: 与编辑器中的问题(主要是 UI)相关。
  • 导出: 与导出系统和模板相关。
  • GDExtension: 与原生扩展的 GDExtension 系统相关。
  • GDScript: 与 GDScript 相关。
  • GUI: 与 GUI(Control)节点或组成用户界面的节点相关。
  • 导入 与资源导入系统相关。
  • 输入 与输入系统相关。
  • 多人游戏: 与多人游戏(高级网络)系统相关。
  • 导航: 与导航系统(包括 A* 和导航网格)相关。
  • 网络: 与(低级)网络相关。
  • 粒子: 与粒子、粒子系统及其编辑器相关。
  • 物理: 与物理引擎(2D/3D)相关。
  • 插件: 与编写插件时遇到的问题相关。
  • 移植: 与某些特定平台或导出项目相关。
  • 渲染: 与 2D 和 3D 渲染引擎相关。
  • 着色器: 与 WeDot 着色器语言或视觉着色器相关。
  • 测试: 与单元测试相关。
  • 第三方: 与 WeDot 中使用的第三方库相关。
  • XR: 与增强现实或虚拟现实相关。

问题通常对应于一个主题。默认情况下,每个主题背后都会有专门的贡献者团队,我们会通过主题标签优先通知相关的团队。

平台

Android, iOS, Linux, macOS, Web, Windows

默认情况下,问题在所有平台出现。如果使用了其中一个平台标签,则之前的假设不再成立(所以如果它是一个仅在 Android 和 Linux 上出现的 Bug,选择这两个平台)。

文档标签和范围

文档仓库中,我们使用以下标签

  • 【错误】bug: 现有页面中的错误信息或代码相关的错误。不用于“缺失”信息。
  • 【文档】documentation: 与文档相关;带有此标签的合并请求改进了类引用文档;文档内容错误。
  • 【重复】duplicate: 另一个问题的重复。这样的问题应该关闭。
  • 【新增】enhancement: 在现有页面中添加的新信息或脚本从引起主仓库同步类参考相关文档。
  • 【首次】good first issue: 假定这是一个容易解决的问题,非常适合新贡献者熟悉代码库。如果有正在处理的合并请求解决了这个问题,应移除此标签。
  • 【求助】help wanted: 很可能是一个难以解决的问题,需要高优先级地额外关注。
  • 【无效】invalid: 无效的问题。
  • 【提问】question: 即使我们已经有用于讨论问题的社区,当有人在问题工单提问,我们也有义务解答。
  • 【忽略】wontfix: 当我们不打算修复该问题时,应使用此标签。

范围

  • 关于: 与文档的“关于”部分和其他文章相关的合并请求。
  • 类引用: 问题与类引用相关,而不是文档页面。
  • 社区: 与文档的社区部分相关的合并请求。
  • 贡献: 与文档的贡献或开发部分相关的合并请求。
  • 入门: 与文档的入门部分相关的合并请求。
  • 手册: 与文档的手册或教程部分相关的合并请求。

里程碑

里程碑 对应于 WeDot 的计划未来版本,这些版本已有路线图。符合所述路线图的问题应归档在相应的里程碑下;如果它们不符合任何当前路线图,则应留空。一般来说,如果一个问题是新功能的一部分,或者是一个不能接受在任何未来稳定版本中的关键 Bug,那么它就对应于某个里程碑。

贡献者可以自由选择任何里程碑的问题;即使为一个未被视为重点关注对象且因此没有里程碑的 Bug 提出了修复方案,我们也很很欢迎。