又是一年 GSOC:一些初学者可以做出贡献的点

我最近看见很多新面孔在 JuliaLang/julia 发起他们的第一个 pr。 一看时间确实到了 GSOC 的申请季了。 应该是想先参与进来,为后面的申请做准备。

2月20日~3月19日是申请时间。(Google Summer of Code 2023 Timeline | Google Developers
还有一周多,差不多够一个简单的 pr 从编写、提交、审核到合并的流程。

我介绍一些门槛较低的点,大家根据自己的水平看看有没有自己能上手做的。
做出贡献和 GSOC 其实也没啥关系。不参加的也可以来试试。

备注:我下面提到的几个入手点,除了最后一个。预期都是一个周末做完,提交 pr 然后大概一周内合并。
算是热身+熟悉 git 开发流程,并不是给大家当作 GSOC 的题目用的。


有一些老生常谈的,改错字。这种就比较一般,不推荐。
不过你要是加一个自动检查 typo 的 ci 那我觉得可以。

写测试,提高代码覆盖率

很推荐

主线的代码覆盖率见

低于 90% 可以重点关注。
基本你能在本地编译 julia,或者其实你下一个 nightly 的版本,就可以跑你新写的测试。
可以说是有手就行,我很乐意给你 review。

最近的一个好例子,建议都观摩一下:
Increase test coverage for int.jl by vmpyr · Pull Request #48587 · JuliaLang/julia (github.com)

这个 pr 是合并的真的快,我第二次的建议刚发出来就合并了。(我还是觉得我的新建议实现的更优雅)

good first issue

这个指的是 issue 的 “good+first+issue” 标签

这是其他维护者认为的,适合新贡献者上手的问题。
不过按我的理解,这些 issue 除了少部分是真的没啥门槛之外。
很多还是得先讨论,或者是在之前旧 pr 的基础上进一步完善。

推荐度一般

大家有想上手做的,可以回复一下具体的 issue,我可以和你讨论一下实现的难度。

写文档

不推荐。但是推荐你补充 doc-test

文档算是 api 的一部分,要求比较严格。
我去年开的两个 pr 还没合并,你敢信

不过你如果把写测试和写文档结合,说不定会简单一些。

cpp 的代码覆盖率

以下是私货时间

issue 见: Add unit tests and coverage reporting for C/C++ code · Issue #19297 · JuliaLang/julia (github.com)

我已经实现了生成 cpp 部分的代码覆盖率,下一步应该是把结果上传到 coveralls/codecov 上。
有感兴趣的可以接着我的工作继续。

注意:做这一部分需要你了解 makefile 及 julia 从源码编译的部分。有一定的门槛。
即使实现完了,提交 pr。我估计 review 的周期也比较长。


当然 julia 的生态不只 JuliaLang/julia。只是我比较关注这里。
欢迎其他 org 的开发者们补充。

5 个赞

一些最近新加入的贡献者,大家可以看看他们选择从哪里入手:

todo: 按贡献类型分类

顺便贴几个链接