ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

如何读代码

2021-06-27 17:34:00  阅读:134  来源: 互联网

标签:项目 代码 如何 理解 阅读 某个 源码


阅读源代码是件耗时而又没有直接产出的事情,所以必须要事先明确目的,不然会白白浪费时间。对于我来说,一般需要阅读源码有几个可能的原因:

在学习语言的时候遇到瓶颈,想借鉴和学习优秀项目的风格、思路、经验等。比如在刚学习一门语言的语法之后,会发现自己还是不能很好地使用它。这个时候,我一般会找一个项目来练手,然后阅读一些优秀项目的代码来参考它们的实现
工作中需要经常用到某个项目。比如你从事 web 开发, 经常使用 flask/Django 框架,熟悉它们的源码可以让你在使用的时候更能得心应手和有的放矢,而且遇到问题之后也能更容易去定位
自己想深入理解某个领域的知识。对某个领域非常感兴趣,想理解它的内部实现原理,或者干脆自己想造个轮子,那么阅读源码是很好的途径
知道了自己要阅读代码,那么怎么去读代码呢?

最重要的是不要畏惧!记得我刚开始工作的时候,总觉得那些项目都是非常优秀的人编写的高质量代码,自己可望不可即,还没有深入之前就认为自己肯定看不懂,更不用去修改代码了。但其实,只要是人写的代码就会有 bug,也会有可以改进的地方,要有好的心态:欣赏好的代码设计,但也要学会识别不好的代码
不要巨细无遗!阅读代码最怕的是在细节中纠缠不清,不仅拖慢进度也会大挫信心。所有的代码大概都是树形的结构,开始最重要的是理清树干的结构,知道这个树大概有几个部分,分别负责什么功能,它们之间的大概关系是啥就够了。万万不可取的是盯着某个小树叶研究半天,或者被藤蔓遮住了视线
带着问题去阅读!这个建议不仅适用于代码,也适用于所有的阅读。如果在阅读之前有了明确的目的,比如想知道程序是怎么启动的、某个 bug 是什么时候引入的、某个功能是怎么实现的…… 带着这些问题,目的性强,理解也更快
简化再简化!如果代码的量级比较大,要学会简化问题,找到代码的核心。有几种方法:忽略细节,比如你知道某个文件夹是不同的驱动,那么只要理解它们的接口和大致功能就行,把细节当做黑盒;运行最简单的代码,通过一个 hello world 或者 quickstart 提供的例子作为入口和理解单位;找到之前的版本,有了版本控制和网络,很多项目很容易找到历史版本,比如理解 linux 的话很多书会推荐 0.X 的版本,它的核心都在,理解也更方便
双管齐下!理解一个很大项目无外乎两种方法——从上到下和从下到上。对于比较复杂的项目,灵活使用这两种方法,从上到下容易找到脉络,但有时候因为多态或者运行时加载的原因很难往下跟踪;从下到上掌握东西更牢固,更有针对性,但会看不清项目的全貌,不容理解整体。两种方法同时使用,直到它们出现交汇,做到融会贯通
希望说了这么多,能对大家以后读代码和工作有点帮助。
来源:https://www.cnblogs.com/Wunsch/p/14921203.html

标签:项目,代码,如何,理解,阅读,某个,源码
来源: https://blog.csdn.net/m0_46172703/article/details/118276914

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有