16

如何为 Go 语言源码仓库贡献代码

 4 years ago
source link: https://jingwei.link/2020/03/15/contribute_golang_process.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

写在前面

二零一九年(2019)利用业余的时间做了一套 《原汁原味Go语言学习》 的视频课程,主要涉及到 Go 官方的几个文档资料的学习。在翻译官方文档的过程中发现有一处错误(前前后后看了很多遍,每次看到都觉得不爽),调研后发现是 Go 源码仓库中的文档,于是心血来潮修正错误并提交了 commit,私心里还琢磨着如果代码被合并自己以后岂不就可以吹嘘是 Go语言源码的贡献者 了?

按照官方指引,春节放假前提交修正并得到管理员的正反馈,然后一直关注了好久但不见代码被合并,一度以为自己的这个提交被忽略了,不过最近看到已经被合并到了 Go主分支 。开心:smile_cat:。

其实整个提交过程还是比较流畅的,现在简单总结记录一下供自己以及他人参考。

为 Go 语言源码仓库贡献代码

我们往往忽略了官方材料的学习

由于每个人学习编程的方式不同,可能无法评估出编程的最佳学习方式;但是作为熟练程度的基准,语言的官方文档理应是其最佳的学习资料。以 Go 语言为例,可能市面上存在很多 Go 语言相关的书籍,但是任何一本书都无法让自己精通 Go 语言编程(如果有类似标榜的书籍,千万不要买);从这个角度讲,书籍只能作为编程语言学习的指引者——激起学习者的学习热情,启发学习者的学习路径——其他的技术细节和技巧仍然需要学习者自己去探索体会。

不过虽说编程语言的官方文档是最佳的学习资料,但是官方文档往往是枯燥无趣的,因此也难怪很多人都不喜欢读。可是,编程语言的学习与掌握本就是一个枯燥无趣的过程,又有什么办法……

如何为 Go 语言源码仓库贡献代码

只需参考 《 Contribution Guide 官方文档 》即可。

大家可以看到整个文档都是英文资料,且在提交代码让别人审核的过程中也都是英文沟通交流,因此这里关键的点或许是把英文学好……

从我个人的经验看,只要英文够好,确实发现了源码中不合理的地方,又觉得自己有好点子,都可以为 Go 语言贡献代码。为了破除大家对提交代码这件事情的神秘感,这里简单罗列一下 官方文档 里介绍的几个点:

  1. 首先准备好账户并签署贡献者协议(Google账户、Gerrit账户);
  2. 配置自己本地的环境(配置 git、配置 gerrit,后者是谷歌官方提供的一个小工具,可以保持自己的 commit 信息的规范);
  3. 修改完代码后就可以使用 gerrit 提交了;
  4. 提交完成后到 https://go.googlesource.com/ 可以观察进度,甚至可能需要根据修改意见进行内容上的阐述、修改等;
  5. 等提交的内容被完全认同以后,剩下的就是耐心等着被合并到 Master 主分支了。

小结

自己的代码被合并到主仓库,好像这份开心慢慢地也消散了。终于还是要踏踏实实地解决业务问题,如此自己的创造才是有价值的。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK