我对 hacktoberfest 的第四次也是最后一次贡献是对我过去贡献过的存储库 dicedb 做出的。该项目的核心理念是成为 的直接替代品,同时比 redis 更加优化。
问题
之前,我通过解决与测试特定数据库操作相关的问题为该存储库做出了贡献,确保功能与文档一致,并在需要时对文档进行更改。
这一次,我想为代码库做出贡献,部分原因是我想学习 ,另一个原因是了解 dicedb 等工具/软件是如何构建的,这么好的直觉是什么?设计。
所以我发现了一个最初并不难理解的问题,但也能帮助我实现我之前提到的目标。
该问题的核心思想是解决和修复某个错误消息,并在适当的情况下给出正确的错误消息
发现并纠正错误的过程
我们的想法是先找到问题,然后解决它
由于我对 golang 的工作原理几乎一无所知,所以我首先查阅了文档,熟悉了 golang 的基本原理和语法,然后再回去解决问题
由于这个项目很大,我利用 的搜索功能来查找记录错误的位置以及与错误消息关联的函数。
找到我的兴趣点后,我所做的就是将问题与代码库的其他部分隔离,使当前逻辑对我有意义,分离错误消息,然后添加修复程序同样的。
公关
解决问题后,我打开了一个 pr 来让我的更改获得批准并合并到主分支中,但结果发现其他人已经将更改合并到主分支中,所以出现了冲突
然后我必须使用 rebase 命令在合并到 mn 的新更改之上重新调整我的主题分支
git rebase main
这样做之后,没有发生任何冲突,很快 pr 就被维护者批准合并到 repo
结论
在结束我的 hacktoberfest 贡献时,dicedb 的工作让我能够更深入地研究 go 并直接了解如何构建 redis 替代方案。解决错误处理问题帮助我掌握了 go 的语法并在现实代码库中进行调试。
以上就是我对 Hacktoberfest 的第四次也是最后一次贡献的详细内容,更多请关注php中文网其它相关文章!