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 的开发者们补充。