错误分类和问题整理#
该问题追踪器对于项目的沟通至关重要:它帮助开发者识别主要项目以开展工作,以及讨论优先级。因此,对其进行整理非常重要,需要为问题添加标签并关闭不必要的 issue。
改进问题#
改进问题会增加其成功解决的几率。有关提交高质量问题的指南,请参见此处。第三方可以提供有用的反馈,甚至可以在问题上添加评论。以下操作通常很有用:
记录缺少可重现问题的元素(例如代码示例)的问题
建议更好地使用代码格式
建议改写标题和描述,使其更明确地说明要解决的问题
链接到相关的问题或讨论,并简要描述它们之间的关系,例如,“另请参见 #xyz,其中对此进行了类似尝试”或“另请参见 #xyz,其中在 SomeEstimator 中发生了相同的情况”可以提供上下文并帮助讨论。
参与 PR 以帮助审查#
也鼓励审查代码。贡献者和用户可以按照我们的审查指南参与审查过程。
核心团队和贡献者体验团队成员的分类操作#
除了上述内容外,核心团队和贡献者体验团队成员还可以执行以下重要任务:
更新问题和 PR 的标签:请参见可用的 github 标签列表。
确定是否必须将 PR 重新标记为停滞或需要帮助(这在冲刺的背景下通常非常重要,因为风险是创建许多未完成的 PR)
如果一个停滞的 PR 被一个新的 PR 接管,则将停滞的 PR 标记为“已取代”,在停滞的 PR 上留下评论链接到新的 PR,并可能关闭停滞的 PR。
分类问题
关闭使用问题,并礼貌地建议报告者改用 Stack Overflow。
关闭重复的问题,在确认它们确实是重复的问题后。理想情况下,原始提交者将讨论转移到较旧的重复问题。
关闭无法复制的问题,在留出时间(至少一周)添加额外信息后。
保存的回复有助于节省时间,并在分类时保持热情和礼貌。
请参阅 github 说明,了解组织中的角色。
问题分类的典型工作流程#
以下工作流程[1]是处理问题分类的好方法:
感谢报告者提出问题
问题追踪器是许多人第一次与 scikit-learn 项目本身互动,而不仅仅是使用该库。因此,我们希望它成为一次令人愉快和欢迎的体验。
这是一个使用问题吗?如果是,请使用礼貌的讯息关闭它(这是一个例子)。
是否提供了必要的信息?
如果缺少关键信息(例如使用的 scikit-learn 版本),请随时索取并使用“需要信息”标记问题。
这是一个重复的问题吗?
我们有很多未解决的问题。如果一个新问题似乎是重复的,请指出原始问题。如果它是一个明显的重复问题,或者共识认为它是多余的,请将其关闭。确保仍然感谢报告者,并鼓励他们参与原始问题,并可能尝试修复它。
如果新问题提供了相关信息,例如更好或略有不同的示例,请将其作为评论或原始帖子的编辑添加到原始问题中。
确保标题准确反映了问题。如果您拥有必要的权限,则可以直接对其进行编辑,如果它不清楚的话。
问题是否最小且可重现?
对于错误报告,我们要求报告者提供一个最小可重现的示例。请参阅 Matthew Rocklin 的这篇有用的文章,了解一个很好的解释。如果示例不可重现,或者显然不是最小的,请随时询问报告者是否可以提供示例或简化提供的示例。请承认编写最小的可重现示例是一项艰巨的工作。如果报告者正在努力,您可以尝试自己编写一个。
如果提供了可重现的示例,但您看到了简化,请添加您简化的可重现示例。
添加相关的标签,例如,如果问题与文档有关,则添加“文档”;如果明显是错误,则添加“错误”;如果是增强请求,则添加“增强”……
如果问题定义明确,并且修复似乎相对简单,则将问题标记为“适合新手”。
另一个有用的步骤是添加相应的模块标签,例如,在相关情况下添加
sklearn.linear_models
。如果问题存在“需要分类”标签,请将其移除。