初级开发人员首次参与开源的循序渐进指南
初级开发人员首次参与开源的循序渐进指南
原文: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 上留下详细的、建设性的评论。
如果你遇到这种情况,拥抱这种经历吧!建立你的网络,找到能帮助你学习开源绳索的导师!
如果你不…尝试另一个问题,另一个项目,另一个回购。
为什么要为开源做贡献呢?
- 这是一件好事。
- 在简历/GitHub 个人资料上看起来不错。
- 它增长你的技能。
- 它帮助你学会成为一个好的沟通者。
- 它帮助你更好地解释不熟悉的代码库。
- 它强化了你的“软”技能(也就是耐心、体贴、感同身受)。
- 你会有温暖模糊的感觉,因为你刚刚参与了开源改善技术的理想主义概念,因为涨潮(也称为共享知识)提升了所有船只。
- 它可以拓展你的人际网络,拓宽你的职业视野。
- 这是开始学习一门新语言/库/框架的好方法。
- 理由已经够多了!
去吧!
请记住:鲨鱼是虚构的(或 PS 过的),即使可怕的深水是真实存在的,也有人会高兴地帮助你在浅水区站起来(即使你刚开始有点挣扎)。
所以,走出去,鞭笞❤️