初级开发人员首次参与开源的循序渐进指南

初级开发人员首次参与开源的循序渐进指南

原文:https://medium.com/hackernoon/contributing-to-open-source-the-sharks-are-photoshopped-47e22db1ab86

或者,鲨鱼被 PS 过

了他基恩

我是图灵学校的前端工科学生。这个星期,我不得不为一个项目的开源做出贡献。

虽然我只有两个星期就要毕业了。!!!!!!!)作为一名正式的初级开发人员,这仍然令人生畏——我还没有准备好!我被催了!我被推到了一个我没有准备好的境地!

感觉是这样的:

(no children or sharks were harmed in the making of this gif. afaik.)

然而。让我向那些想为开源项目做贡献但害怕开始的人保证,事实上结果更像这样:

aka, Not A Big Deal™

所以不要担心,朋友们。如果我能做到,你也能。

免责时间: 开源有时候可以一个雷区,千真万确。 这篇文章并没有假装给你提供防身盔甲,但是它给你一些提示,帮助你找到支持性的、适合初级开发人员的项目。

好了,聊够了;让我们开始吧!

寻找开源项目

GitHub 用户 MunGell 整理了一份完全优秀的开源项目列表(这个列表本身就是开源的——哇哦),特别是“对初学者来说棒极了”。这是一个很好的起点。

  • 利用 GitHub 的搜索工具——特别是寻找回购问题标签。

Look at all these doable issues!

  • 只要在搜索栏中输入label:beginner,就会出现项目开发人员认为适合初学者的问题。
  • 问题标签没有标准化——搜索时要有创意。
  • 一般来说,给他们的问题添加任何类型的beginner标签的团队将会是一群支持者。

对一个未解决的问题提出要求

当你发现一个你想尝试的问题时,打个拍子表示尊重:

  • 介绍自己是第一次投稿。
  • 看看是否已经有人在做了。
  • 对你自己和项目团队坦诚你的能力。

Brittany Storoz 写了一个简洁的脚本:

*Hi there! I’m a first-time contributor and was hoping to help out with this issue. I noticed nobody was assigned to it, but if there’s already a solution in progress I’m happy to try helping out elsewhere. Thanks!*

请记住——有时——专为初学者设计的问题可能仍然很紧迫。要及时;如果你不能在适当的时间内完成一个问题,添加一个评论让团队知道。

如果你已经放弃了一个问题(别人可能正在做的),那么坐以待毙是没有好处的。

开始讨论这个问题

除了告诉你如何在你的机器上安装本地版本的应用程序的README.md之外,许多开源 repos 还会包括一个CONTRIBUTING.md文件,该文件分解了如何为项目做出贡献的步骤。

花一点时间来阅读它——很多项目告诉你如何给自己最好的机会将你的 PR 合并到代码库中。

  • 如果有CONTRIBUTING.md文件,请阅读。
  • 根据README.md文件安装回购。
  • 读代码!寻找风格选择、代码卫生实践等。
  • 当你改变一些事情时,做一个好人,运行项目测试套件。

提交你的公关(并在内部尖叫)

  • 仔细检查你的代码:没有语法错误,良好的提交信息,等等。
  • 提交简历时,确保你遵循了CONTRIBUTING.md文件中的规定。
  • 如果团队还没有包括 PR 的模板,包括:你做了什么改变,为什么;需要写什么测试;哪些测试失败了,为什么;还需要做什么;任何其他相关的信息。

等待反馈(内部尖叫加剧)

等待反馈的第一件事是:

  • 不要期待反馈。

反馈并不少见。我在这里要说的是:不要建立一个你会得到什么样的反馈的想法。这是一种疯狂,或者至少是一段糟糕的时期。

反馈的另一个重要方面是:

  • 对反馈要有礼貌。

你可能永远得不到回应,你可能得到否定的回应(他们悄悄地关闭了你的公关),或者你可能得到的回应是否定的(也就是生硬/刻薄/不屑一顾/嘲笑/总的来说有点古怪)。

希望反馈是友好的,有帮助的。一些项目有积极热情的开源贡献者,他们创建讨论板,并在 PRs 上留下详细的、建设性的评论。

如果你遇到这种情况,拥抱这种经历吧!建立你的网络,找到能帮助你学习开源绳索的导师!

如果你不…尝试另一个问题,另一个项目,另一个回购。

为什么要为开源做贡献呢?

  1. 这是一件好事。
  2. 在简历/GitHub 个人资料上看起来不错。
  3. 它增长你的技能。
  4. 它帮助你学会成为一个好的沟通者。
  5. 它帮助你更好地解释不熟悉的代码库。
  6. 它强化了你的“软”技能(也就是耐心、体贴、感同身受)。
  7. 你会有温暖模糊的感觉,因为你刚刚参与了开源改善技术的理想主义概念,因为涨潮(也称为共享知识)提升了所有船只。
  8. 它可以拓展你的人际网络,拓宽你的职业视野。
  9. 这是开始学习一门新语言/库/框架的好方法。
  10. 理由已经够多了!

去吧!

请记住:鲨鱼是虚构的(或 PS 过的),即使可怕的深水是真实存在的,也有人会高兴地帮助你在浅水区站起来(即使你刚开始有点挣扎)。

所以,走出去,鞭笞❤️


本站为非盈利网站,作品由网友提供上传,如无意中有侵犯您的版权,请联系删除