阅读开源项目源代码的方法与心得

简介: 阅读开源项目源代码的方法与心得

更多开源项目请查看:一个专注推荐.Net开源项目的榜单

我在知识星球:学习小圈子,分享《EF源码解析》专栏,已经连续写了6篇文章,今天来跟大家分享下,阅读开源项目源码的心得与体会。



心态很重要

很多人最关心的是怎么阅读开源项目源码,很多粉丝朋友都感觉好难,看到代码就退缩,其实这个是很正常的,就想我这种老程序员也是一样,阅读源代码都会抓狂、浮躁,这都是正常人的反应,至少我是这样的。


所以阅读源代码心态很重要,特别是刚开始入手的时候,很多地方看不懂,这个时候就要告诉自己不能放弃,一点一点的啃,当你入门以后,阅读起来就慢慢顺手了,就不会再感觉抓狂、浮躁。


所以阅读源代码,耐心很重要,不能轻易放弃,可以多给自己一点时间,慢慢的阅读,等入手以后,就没事了。

基础知识很关键

阅读源代码,很多人看不懂,这个与本身的知识储备很有关系,比如EF里面有运用设计模式、事件委托、扩展、record等等,很多人没有这方面的知识,就会不明白。这个是非常正常的,我作为一名老程序员,同样也会碰到这样的问题,一些C#新特性、或者一些平常比较少使用的特性,我也会因为没学过、或者忘记,导致看不懂。


碰到这样的问题,也没太大的问题,只需要先学习了相应的知识点,然后学习完新知识点后,再继续阅读就行,这样还有一个好处就是补充自己的知识点,另外可以更加深刻的理解知识点的使用,以及为什么作者采用这样的设计。

————————————————

先学习其他人的分享


在阅读开源项目之前,**可以先了解下其背景、以及使用方法,还有可以先在网络上搜索其他人相关的分享。**现在网络上学习资料是非常多的,热门的开源项目,基本上都有其他博主有分享,可以先阅读下他们的分享,然后再去阅读开源项目,这样就比较容易入手。

从单元测试入手

每一个成熟的开源项目,都有单元测试的,就像EF项目,每一个功能点都有编写相应的单元测试,我们可以从单元测试入手,了解每一个功能点,也能比较快的找到功能点对应的源码。


收获

优秀的开源项目,都是一群极其牛B的程序员编写的,另外开源项目都需要考虑到通用性,他们考虑点都是非常全面的,所以他们设计的代码,也都是比较优秀的代码,我们学习开源项目代码,就能收获他们的设计思想。


为了更容易理解他们的设计思想,大家可以先思考下他们需要解决的问题、面向的用户群体、以及相关背景,这样才能更加深刻与容易理解他们的设计思想。


另外开源项目,他们考虑点都是非常多且全面的,很多我们在实际项目开发中,是不会碰到的,所以阅读开源项目,相当于我们经历了一遍,对我们学习编程也是非常有帮助的,以后在项目开发中碰到类似的问题,就能马上运用起来。

最后

非常建议大家尝试阅读开源项目代码,毕竟都是一群老程序员、深思熟虑设计出来的代码,我们可以从中学习到很多知识,同样的也能培养我们学习的好习惯。


- End -


欢迎加入 学习小圈子 ,获取海量的编程学习资源、学习路线,和大家一起打卡、分享编程知识、共同进步。


推荐阅读


一个简单、功能完整的WMS仓库管理系统


年度盘点10个最受欢迎的.Net开源项目


推荐一个跨平台支持Word, Excel, CSV, Email等30多种格式的操作库


一个.Net简单、易用的配置文件操作库


一个专注推荐.Net开源项目的榜单


相关文章
|
2月前
|
C++
红警源代码居然开源了....
红警源代码居然开源了....
|
3天前
|
设计模式 存储 算法
C++从入门到精通:3.7阅读和理解开源项目——在实际项目中应用C++编程技巧和规范
C++从入门到精通:3.7阅读和理解开源项目——在实际项目中应用C++编程技巧和规范
|
1月前
编程笔记 01工具及参考资料
编程笔记 01工具及参考资料
|
9月前
|
JavaScript 程序员 API
程序员为什么会在开发中阅读源码?
作为程序员的大家想必都会在开发的时候,去阅读源码。在实际开发中,开发者经常需要阅读和理解源代码,阅读源码是一种非常有用的技能,它可以帮助程序员更好地了解代码、解决问题、学习新技术和提高编码能力。阅读源码的过程实质上是对软件构建技术和架构深度的一种持续学习和理解。阅读源码可以揭示代码的内在逻辑,这被看作是对技术深度理解的一种体现,它能提高我们对技术的理解程度。结合阅读《Node 中的 AsyncLocalStorage 的前世今生和未来》这篇文章之后,我深刻体会到了作为开发者阅读源码的重要性和必要性。通过阅读这篇文章,我对 AsyncLocalStorage 的实现原理和使用方式有了更深入的理解
128 3
程序员为什么会在开发中阅读源码?
|
设计模式 Java 程序员
|
分布式计算 搜索推荐 前端开发
学会阅读源码后,我觉得自己better了
学会阅读源码后,我觉得自己better了
151 0
|
SQL XML Java
如何快速阅读源码
本文探讨在需要了解一个开源项目时,如何快速的理清开源项目的代码逻辑! 以下是个人认为行之有效的方法: 先「跑起来」 自顶向下拆解 深入细节 延伸改进 本文以Mybatis为例来进行演示! 先“跑起来” 程序界有个老传统,学习新技术时都是从「Hello World」开始的!无论是学习新语言时,打印...
1184 0
|
安全 Java C++
C++开源库,欢迎补充。
C++在“商业应用”方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应 用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料,这三年来,C++的生命力突然被 严重地增强了。
1267 0