python开源项目贡献
一个常见的误解是,为开源做出贡献是困难的。 您可能会想:“有时候我什至不了解自己的代码;我应该如何理解别人的代码?”
放松。 直到去年,我还是这么想。 阅读和理解别人的代码,并在此之上编写自己的代码可能是一项艰巨的任务,但是有了适当的资源,它并不像您想的那样难。
第一步是选择一个项目。 这一决定可能有助于将新手程序员变成经验丰富的开源人员。
建议许多对开源感兴趣的业余程序员签出Git ,但这不是最好的入门方法。 Git由uber-geeks维护,具有多年的软件开发经验。 在这里可以找到一个开源项目来贡献自己的好地方,但是它对初学者并不友好。 大多数为Git做出贡献的开发人员都有足够的经验,他们不需要资源或详细的文档。 在本文中,我将提供一个适合初学者使用的功能的清单,并提供一些技巧,以简化您的第一个开源贡献。
了解产品
在为项目做贡献之前,您应该了解它是如何工作的。 要了解它,您需要自己尝试一下。 如果您发现该产品有趣且有用,那就值得贡献。
初学者经常会在不首先使用软件的情况下尝试为项目做出贡献。 然后他们会沮丧并放弃。 如果不使用该软件,则无法理解其工作方式。 如果您不知道它是如何工作的,那么如何解决错误或编写新功能?
记住:尝试一下,然后再破解。
检查项目状态
该项目有多活跃?
如果您向未维护或处于Hibernate状态的项目发送拉取请求,则您的拉取请求(或PR)可能永远不会被审核或合并。 寻找活动频繁的项目; 这样,您将立即获得有关代码的反馈,并且您的贡献不会浪费。
这是确定项目是否处于活动状态的方法:
- 贡献者数量:越来越多的贡献者表明开发人员社区感兴趣并愿意接受新的贡献者。
- 提交频率:检查最近的提交日期。 如果是在最后一周,甚至一个月或两个月内,则该项目正在维护中。
- 维护者数量:维护者数量更多,意味着更多潜在的指导者来指导您。
- 聊天室/ IRC中的活动级别:繁忙的聊天室意味着可以快速回复您的查询。
初学者资源
Coala是一个开放式项目的示例,该项目具有自己的教程和文档资源,您还可以在其中访问其API(每个类和方法)。 该网站还具有吸引人的UI,使您想了解更多信息。
文档:所有级别的开发人员都需要可靠且维护良好的文档来了解项目的详细信息。 在GitHub (或托管的任何地方)以及诸如Read the Docs之类的单独站点上寻找提供可靠文档的项目,其中包含许多示例,可帮助您深入研究代码。
![“ Coala新移民指南”屏幕 Coala Newcomers' Guide screen](https://i-blog.csdnimg.cn/blog_migrate/d5355f20179f6f5ee9722545f13bc8c8.png)
教程:解释如何向项目中添加功能的教程对初学者很有帮助(但是,可能无法在所有项目中找到它们)。 例如,coalya提供了编写熊的教程 (Python包装器,用于整理工具以执行代码分析)。
![Coala用户界面截图 Coala UI](https://i-blog.csdnimg.cn/blog_migrate/fbc07ffc6cc11ffd8fda3c2d4813fc7a.png)
带有标签的问题:对于刚开始想知道如何选择第一个项目的初学者来说,选择一个问题可能会更加艰巨。 标有“难度/低”,“难度/新手”,“良好的第一期”和“低落的果实”的问题对于新手来说可能是完美的。
![考拉标记的问题 Coala labeled issues](https://i-blog.csdnimg.cn/blog_migrate/9a9b2a472c6e2870c9cf86f490a13648.png)
杂项因素
![CI用户管道日志 CI user pipeline log](https://i-blog.csdnimg.cn/blog_migrate/2e0b36a68344f5742f65435ba75e5c91.png)
维护者对新贡献者的态度:根据我的经验,大多数开源者都渴望帮助新移民加入他们的项目。 但是,当您寻求帮助时,您可能还会遇到一些不太受欢迎的人(甚至有些粗鲁)。 不要让他们灰心。 仅仅因为某人有更多的经验并不能赋予他们无礼的权利。 有很多其他人想要帮助。
审查流程/结构:您的PR将由经验丰富的开发人员和您的同行进行许多审查和更改,这就是您最多了解软件开发的方式。 具有严格审核流程的项目使您能够通过编写生产级代码来成长为开发人员。
强大的CI渠道:开源项目向初学者介绍了持续集成和部署服务。 强大的CI管道将帮助您学习如何读取和理解CI日志。 它还将为您提供处理失败的测试用例和代码覆盖问题的经验。
参与代码计划(例如Google Summer Of Code ):参与组织表明愿意致力于项目的长期开发。 它们还为新来者提供了获得现实世界发展经验并获得报酬的机会。 参加此类计划的大多数组织都欢迎新手。
7个适合初学者的组织
- Coala(Python)
- oppia(Python,Django)
- DuckDuckGo(Perl,JavaScript)
- OpenGenus(JavaScript)
- Kinto(Python,JavaScript)
- FOSSASIA(Python,JavaScript)
- Kubernetes(开始)
翻译自: https://opensource.com/article/18/4/get-started-open-source-project
python开源项目贡献