首页 > 其他分享 >我的开源代码启蒙

我的开源代码启蒙

时间:2022-12-06 13:55:28浏览次数:63  
标签:LevelDB 项目 代码 程序员 开源 启蒙 源代码

一个程序员如果在五六年前说自己不碰或者不懂开源,应该还不足为奇。今天,一个程序员如果没有用过github等代码托管平台,可能让人怀疑TA是不是个假程序员。如今借鉴和引用开源项目已经变成了许多计算机编程人员工作中的日常,甚至很多公司在招聘JD里清楚写明“有开源项目经验优先”。有时候自己从开源世界看到如此丰富多彩的组件、工具和文档,不禁感叹开源世界的强大力量,它是跨地域全球协作的一个典范。
从今年6月份开始,自己陆陆续续投入了不少时间和精力去阅读LevelDB项目的源码。最初感觉是晦涩难懂,后来渐渐摸出来一些蛛丝马迹,从点开始突破,把点慢慢连成线,现在读源码时已开始感觉如同平日工作里碰到的代码一般。LevelDB作者是谷歌著名程序员Sanjay Ghemawat和Jeff Dean,总代码量并不多,去除test代码和第三方仓库依赖(googletest和benchmark),只有不到1万2千行。虽然如此,作为自己第一个精读的(C++)开源项目,前后零零总总投入了至少几十个小时(我想应该不足一百),深感并不轻松。在阅读代码的过程中,我参考了《极客时间》App上《许式伟的架构课》(作者七牛云CEO许式伟)71节“如何阅读别人的代码”中的一些指导建议,受益匪浅。
常言道,“万事开头难”,研读LevelDB代码的意义也正在于此,从0到1。记得大约从去年下半年开始,我试着探索下开源项目,当时粗读了boltdbspd日志框架,虽然开了些眼界,但只是粗读,也没输出任何架构性的文档或者总结,所以现在对其中原理和细节大多已经遗忘。去年八月份,我在github上面提交了自己的第一个PR,现在依然能想起来当时是多么欣喜(傻傻的,哈),甚至还专门发了一条朋友圈去mark一下。代码改动很小,甚至可以说是细枝末节,可是对于自己而言,是第一次的尝试,也是个0的突破。

标签:LevelDB,项目,代码,程序员,开源,启蒙,源代码
From: https://www.cnblogs.com/ninja-ken/p/16952050.html

相关文章