Go 语言项目源码解析:定时任务库 cron
引子
GitHub 上有很多优秀的开源项目,代码都是透明可见的,每个人只要有账号就可以下载来查看。而我们作为软件开发者来说也可以从中学习到很多知识,以及体会如何正确的工程化、单元测试、统一代码风格等,甚至从源码中找到问题,并提出 Pull Request 来贡献开源社区。今天这篇文章将解析 Go 语言开源项目 robfig/cron 的源码,这个项目不大,知名度较高,注释也比较清楚,很适合新手学习如何阅读和解析源码。
环境准备
首先我们将源码克隆(Fork)为自己的个人仓库,只需要在 GitHub 项目主页点击 Fork 按钮,然后输入项目名称点击确认即可。克隆完毕后,可以下载到本地,或者直接在科隆后的 GitHub 仓库主页上点击 Create codespace on master
来创建 Codespace。Codespace 是 GitHub 推出的基于 Azure 云服务的远程编程功能,现在对个人账号开放了,可以试一下。
点击后,浏览器中会打开一个新页面,并会出现在线 VS Code 的界面,然后显示该项目的目录、代码以及终端,如下图。