对新贡献者的建议

新来的贡献者,不知道该怎么办? 想要提供帮助但是不知道如何开始? 那这就是为你准备的部分。

开始并运行起来!

如果您是 Django 新的贡献者,那么 编写你的第一个 Django 贡献 教程将为您介绍这些工具和工作流程。

该页面包含有关您可以为 Django 做出贡献的更一般建议以及如何入手的信息。

如果你正在寻找关于代码贡献的细节参考,参见 Contributing code 文档。

快速入门

从这些任务开始,去发现 Django 的开发过程。

Triage tickets

如果一个 未审查的工单 报告了一个错误,请尝试验证并重现它。如果您可以重现它并且它似乎是有效的,写一条记录以表明你确认了该错误并接受该工单。确保该工单归档在正确的组件区域。即使你不去修复 bug 本身,你也可以写一个用于测试 bug 的行为的补丁。查看更多内容请点击 我能帮你怎么做分类?

Review patches of accepted tickets

This will help you build familiarity with the codebase and processes. Mark the appropriate flags if a patch needs docs or tests. Look through the changes a patch makes, and keep an eye out for syntax that is incompatible with older but still supported versions of Python. Run the tests and make sure they pass. Where possible and relevant, try them out on a database other than SQLite. Leave comments and feedback!

Keep old patches up-to-date

通常情况下,代码库会在提交补丁和审阅补丁之间发生变化。确保它仍然干净地应用,并按预期运行。更新补丁既有用又重要!更多信息请参见代码 Submitting contributions

Write some documentation

Django的文档很好,但它总是可以改进的。你发现打字错误了吗?你认为有什么需要澄清的吗?继续并建议一个文档修补程序!另请参阅指南 编写文档

Note

报告页 包含了许多有用的 Trac 查询链接,包括一些像上面建议的那样对分类工单和审查补丁有用的链接。

Sign the Contributor License Agreement

您编写的代码属于您或您的雇主。 如果您的贡献超过一至两行代码,则需要签署 CLA 。 有关更详尽的解释,请参阅 Contributor License Agreement FAQ”。

方针

作为大型项目的新手,很容易感到沮丧。 这里有一些建议可以使你在 Django 上的工作更加有用、 有收获。

Pick a subject area

This should be something that you care about, that you are familiar with or that you want to learn about. You don't already have to be an expert on the area you want to work on; you become an expert through your ongoing contributions to the code.

Analyze tickets' context and history

Trac不是绝对的;上下文和名词一样重要。在阅读Trac时,你需要考虑到账户谁说了什么,什么时候说的。两年前对一个想法的支持并不意味着这个想法还会得到支持。您还需要注意哪些人没有发言--例如,如果一位有经验的贡献者最近没有参与讨论,那么这份工单可能就不需要Django支持。

Start small

在小问题上得到反馈比在大问题上得到反馈要容易得多。请参阅 easy pickings

Confirm support before engaging in a big task

这意味着在您解决问题之前让其他人确认一个bug是真实的,并确保在您开始实现一个建议的特性之前有一个共识。

Be bold! Leave feedback!

有时候,把你的观点向全世界发表,说“这个工单是正确的”或者“这个补丁需要工作”,这可能会让人害怕,但这是项目向前推进的唯一途径。广泛的Django社区的贡献最终会比任何一个人的贡献产生更大的影响。没有**你**我们做不到!

Be cautious when marking things "Ready For Check-in"

If you're really not certain if a ticket is ready, don't mark it as such. Leave a comment instead, letting others know your thoughts. If you're mostly certain, but not completely certain, you might also try asking on the #contributing-getting-started channel in the Django Discord server to see if someone else can confirm your suspicions.

Wait for feedback, and respond to feedback that you receive

专注于一两张工单,从头到尾看完,然后重复。短期途径接手很多工单,让一些工单在半路上掉下来,这样做的结果是弊大于利。

Be rigorous

When we say "PEP 8, and must have docs and tests", we mean it. If a patch doesn't have docs and tests, there had better be a good reason. Arguments like "I couldn't find any existing tests of this feature" don't carry much weight. While it may be true, that means you have the extra-important job of writing the very first tests for that feature, not that you get a pass from writing tests altogether.

Be patient

您的工单或补丁可能无法立即得到快速审查,并非出于个人原因。有很多工单和拉取请求需要处理。

保持你的补丁最新是很重要的。在你解决了所有的审查意见后,请查看 Trac 上的工单,确保 需要测试需要文档补丁需要改进 的标志都被取消选中。

请记住,Django 的发布周期为八个月,因此您的补丁有足够的时间进行审查。

最后,一个及时的提醒可能会有所帮助。请参考 贡献代码 FAQ 来获取一些想法。

Back to Top