常见问题:贡献代码

如何开始为 Django 贡献代码?

感谢提问!我们专门为此问题编写了一整篇文档。标题为为 Django 贡献代码

我几周前提交了一个错误修复。为什么你们忽略我的贡献?

别担心:我们没有忽略你!

重要的是要理解,“问题被忽略”和“问题尚未得到处理”之间存在区别。Django 的问题跟踪系统包含数百个未解决的问题,这些问题对最终用户功能的影响程度各不相同,Django 的开发者必须审查和确定优先级。

此外:参与 Django 开发的人都是志愿者。因此,我们用于开发框架的时间是有限的,并且会因每周的空闲时间而异。如果我们很忙,我们可能无法像我们希望的那样花费大量时间在 Django 上。

确保问题在提交过程中不会被挂起的最佳方法是使其易于理解,即使对于可能不熟悉该代码区域的人员来说,也能够理解问题并验证修复。

  • 是否有关于如何重现错误的明确说明?如果这涉及依赖项(例如 Pillow)、contrib 模块或特定数据库,即使对于不熟悉它的人员,这些说明是否也足够清晰?

  • 如果有多个分支链接到该问题,是否清楚每个分支的作用、哪些可以忽略以及哪些重要?

  • 此更改是否包含单元测试?如果没有,为什么没有非常明确的解释?测试简洁地表达了问题所在,并表明该分支实际上修复了它。

如果你的贡献不适合包含在 Django 中,我们不会忽略它——我们会关闭该问题。因此,如果你的问题仍然处于打开状态,并不意味着我们忽略了你;这仅仅意味着我们还没有时间查看它。

我什么时候以及如何才能提醒团队注意我关心的更改?

在论坛/分支中发送礼貌且适时的信息是引起关注的一种方式。要确定合适的时间,你需要关注发布计划。如果你在发布截止日期前发布你的信息,你不太可能获得你需要的关注。

适度的 IRC 提醒也可以奏效——如果可能的话,也要适时进行。例如,在错误修复冲刺期间会是一个非常好的时机。

另一种获得关注的方式是将几个相关问题组合在一起。当有人坐下来审查他们一段时间未接触过的某个区域的错误时,可能需要几分钟才能回忆起该代码区域的工作原理的所有细节。如果你将几个小的错误修复组合成一个主题相似的组,那么你将成为一个有吸引力的目标,因为熟悉某个代码区域的成本可以分散到多个问题中。

请避免向任何人发送私人电子邮件或反复重复提出相同的问题。这种行为不会让你获得任何额外的关注——当然不会获得解决你的问题所需的关注。

但是我已经提醒你们很多次了,你们还是一直在忽略我的贡献!

说真的——我们没有忽略你。如果你的贡献不适合包含在 Django 中,我们会关闭该问题。对于所有其他问题,我们需要优先考虑我们的工作,这意味着有些问题将在其他问题之前得到解决。

用于确定错误修复优先级的标准之一是受特定错误影响的人数。可能影响许多人的错误通常会优先于边缘情况。

错误可能被忽略一段时间的原因还在于,该错误可能是更大问题的一个症状。虽然我们可以花费时间编写、测试和应用许多小的更改,但有时正确的解决方案是重建。如果已提出或正在进行某个特定组件的重建或重构,你可能会发现影响该组件的错误不会得到太多关注。同样,这也是优先考虑稀缺资源的问题。通过专注于重建,我们可以一次性解决所有小错误,并希望防止将来出现其他小错误。

无论出于何种原因,请记住,虽然你可能会经常遇到某个特定的错误,但这并不一定意味着每个 Django 用户都会遇到相同的错误。不同的用户以不同的方式使用 Django,在不同的条件下对代码的不同部分施加压力。当我们评估相对优先级时,我们通常会尝试考虑整个社区的需求,而不是优先考虑对某个特定用户的影响。这并不意味着我们认为你的问题不重要——只是在我们可用的有限时间内,我们总是会倾向于让 10 个人满意而不是让一个人满意。

我相信我的问题绝对是 100% 完美的,我可以自己将其标记为“准备提交”吗?

抱歉,不行。让其他人再审查一下问题总是更好的。如果你难以找到第二个人来审查,请参阅上面的问题。

返回顶部