diff --git "a/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\346\272\220\344\273\243\347\240\201\350\257\245\346\200\216\344\271\210\350\257\273.md" "b/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\346\272\220\344\273\243\347\240\201\350\257\245\346\200\216\344\271\210\350\257\273.md" index 9e8bae396e6a4e2f1a0adcd5d1c592f36b4cc66d..4adbbf6be0c82661b1673be9a58d4c07f33e65b6 100644 --- "a/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\346\272\220\344\273\243\347\240\201\350\257\245\346\200\216\344\271\210\350\257\273.md" +++ "b/\347\254\254\344\272\214\351\203\250\345\210\206\342\200\224\342\200\224\345\255\246\344\271\240\345\222\214\344\275\277\347\224\250\345\274\200\346\272\220\351\241\271\347\233\256/\345\274\200\346\272\220\351\241\271\347\233\256\347\232\204\346\272\220\344\273\243\347\240\201\350\257\245\346\200\216\344\271\210\350\257\273.md" @@ -1,6 +1,6 @@ ### 选择合适的项目 -gitee上的项目种类和数量繁多,作为新手的话,要选择适合自己的项目进行学习。 +Gitee 上的项目种类和数量繁多,作为新手的话,要选择适合自己的项目进行学习。 1. 以实际项目为导向,可以是真正的工程项目,也可以是生活中实用的小项目,根据实际项目可以有方向性的选择开源项目; 2. 调查实际项目相关领域的常用开源项目,缩小选择范围,选择常用项目,学习过程可以获取更加丰富的资料; 3. 通过项目的 README.md 了解项目的大体情况,再进行研究和选择。 @@ -8,10 +8,15 @@ gitee上的项目种类和数量繁多,作为新手的话,要选择适合自 ### 读源代码之前的准备工作 1. 领域知识储备 + 开源项目往往是以领域知识为背景进行开发的,了解领域知识中基本概念、原理、算法,必然会降低阅读理解源码的难度。 + 2. 善用学习工具 -方便查找的IDE工具使源码阅读过程事半功倍,阅读源码要搞清楚函数之间的调用关系,ide拥有代码静态分析功能和便捷的断点调试功能,可以帮助你快速查看源码调用关系,整体了解源码的逻辑关系。类图工具,方便梳理、记录和可视化项目调用的逻辑关系,加快深入学习。 + +方便查找的 IDE 工具使源码阅读过程事半功倍,阅读源码要搞清楚函数之间的调用关系,IDE 拥有代码静态分析功能和便捷的断点调试功能,可以帮助你快速查看源码调用关系,整体了解源码的逻辑关系。类图工具,方便梳理、记录和可视化项目调用的逻辑关系,加快深入学习。 + 3. 了解开源项目 + 查找和阅读该项目的博客和资料,对项目的目的、功能、基本使用和代码组织结构进行大概的了解,进一步明确学习内容和目标。 ### 读源代码时应该读些什么 @@ -28,9 +33,9 @@ gitee上的项目种类和数量繁多,作为新手的话,要选择适合自 #### 阅读项目源代码 -1. 阅读源代码的第一步抓住干,尝试理清楚代码运行的调用路径,通过 debug 来观察运行时的变量和行为,加入日志和打印可以更好的理解代码,大部分的细节需要在调试中理解; +1. 阅读源代码的第一步为抓住干,尝试理清楚代码运行的调用路径,通过 debug 来观察运行时的变量和行为,加入日志和打印可以更好的理解代码,大部分的细节需要在调试中理解; 2. 画逻辑关系图帮助理解源码,将代码主干画成流程图或 UML 图,帮助记忆和下一步阅读,大幅度提高对框架的理解速度; 3. 挑感兴趣的枝干代码来阅读,深入实现细节,包括使用的库、设计模式等; 4. 重视单元测试,加深对程序模块功能的理解; -5. 发现有可改进的地方,对项目开发者提出改进意见或者 issue。 +5. 发现有可改进的地方,对项目开发者提出改进意见或者 Issue。 6. 写笔记与写文章,通过写笔记记录学习的收获和经验,供以后使用,通过写文章对于问题进行深入和系统的思考。 \ No newline at end of file