开源新手必看7个小技巧

百家 作者:CSDN 2021-03-17 17:17:32

【CSDN编者按】:万事开头难,成为开源大佬的第一步,是成为开源新手。先读他人的 CONTRIBUTING.MD,慢慢就会有了自己的贡献规则。


译者 | 弯月

出品 | CSDN(ID:CSDNnews)

以下为译文:

多年来,我一直在参与几个代码库的维护工作,这些代码库的主要目的是帮助新手学习如何为开源做贡献,并给他们尝试开源的机会。

在维护这些开源代码库期间,我注意到了新手都会犯的一些常见的错误,还有一些他们常常感到疑惑的问题。因此,我决定撰写这篇文章,希望能够为打算向开源做贡献的新手提供一些帮助。


阅读贡献准则

 

每个开源代码库中都有一个名为 CONTRIBUTING.MD 的文件。该文件中容纳了所有为该代码库做贡献的规则,包括代码变更指南以及如何贡献代码等。这个文件非常重要,仔细阅读该文件可以为你节省大量时间,帮助你弄清楚需要做什么,以及如何确保你的拉取请求( PR )符合项目的所有准则,同时还可以节省维护人员的时间,方便他们审核你的代码,并做出必要的修改。


创建新分支

 

在贡献代码的时候,你需要做的第一件事情就是分叉项目,这样可以方便你修改并提交代码。然而,许多新手都会忽略创建新分支这个步骤。不要在分叉后,直接修改 master (主)分支。这一步对于维护人员,乃至整个项目都非常有帮助。


在动手修改代码之前,请先确保议题已经分给了自己

 

虽然有例外,但我认为大多数开源项目都采用了这种做法。我们应该确保修改的议题分给了自己。通常,在向某个项目贡献代码的时候,首先你应该去代码库的 Issue (议题)页面,看看自己能帮上什么忙。在找到自己可以帮忙解决的问题后,你应该先确保这个议题还没有分出去,然后留言,请求将它分给自己。许多新手会漏看某个议题已经分给了别人,或者忘了留言,最后导致维护人员看到多个 PR 解决同一个问题,甚至漏掉某个 PR 。为了避免这种情况,请首先在议题下面留言,确保议题分给了自己,然后再提交 PR 。


不要直接提交 PR ,先创建议题

 

有时你会发现某个 bug ,或者想到增强某个功能办法,而且代码库的议题列表中没有这个问题。这时,许多新手会直接动手改代码,然后发送 PR 。如果只是拼写错误之类的小问题,这种做法也没有太大问题。但是,如果遇到很大的变更,尤其是你认为自己的做法更好的时候,请首先发送一个议题,写清楚自己的建议或仔细汇报 bug 。如果维护人员认为你说的很有道理,他们就会把这个议题分给你。但是,如果出于某种原因,他们没有采纳你的建议,则他们会关闭议题,从而节省彼此的时间。


不需要在每次修改代码的时候都新建 PR

 

我看到很多人都有这类的困惑,某个开发人员发送了一个 PR ,而我给出了修改建议,然后他会关闭这个 PR ,然后再新建一个 PR ,然后再修改代码。其实你不需要这么做。

你可以直接修改 PR ,然后提交代码即可。假设你分叉了代码库,并新建了一个分支 patch-1 ,那么只需在该分支上修改代码,然后提交并推送你的更改,则所有的代码变更都会自动显示在 PR 中。


不要提交不必要的文件

 

我收到的 PR 中经常会包含不必要的文件,比如 IDE 的配置文件等。在提交代码之前,请检查一下哪些文件发生了变化,只提交与你修改的议题相关的文件。


不要气馁

 

有些开发人员犯了很多错误,但我依然很喜欢他们。因为他们告诉我自己是新手,因此我只能一次次地给他们机会,让他们改代码。老实说,我以为他们会关掉 PR ,然后退出。但是,他们一直在努力,而且随着时间一天天过去,他们不仅能出色地完成工作,而且还能够为其他议题贡献代码。新手犯错再所难免,而且你们会越来越好。


总结

 

如果你从未向开源做过贡献,或者你一直犹豫不决,那不如现在就动起来吧。为开源做贡献不仅可以回馈社区,而且自身也能得到成长。希望本文能对你有所帮助,并鼓励你加入开源。每一份微不足道的小贡献,都能让我们的社区变得越来越好。

原文链接:https://blog.shahednasser.com/tips-for-beginners-to-open-source/

声明:本文为 CSDN 翻译,转载请注明来源。

预约《大咖来了》直播,纪念版卫衣以及保温杯等礼品,在直播间精选留言提问题,若问题被采纳,将直接赠送马克杯!先到先得!


左手代码,右手带娃,还能发十几篇 paper,程序员女神是如何炼成的?

MIPS 已死,转身投靠 RISC-V!

没有特斯拉的 3·15 都曝了些什么?

如何以出售开源软件为生

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接