程序员的源代码阅读方法

正确的学习方法不仅能够让你事半功倍,也能够让你更加接近真理。初学一个工程的源代码,往往让初学者手足无措。下面的方法希望为初学者带来启示和便利。这个学习方式是基于编译环境和语言比较熟悉的基础上。最重要的是你要确定你要阅读的源代码是一份好代码。因为阅读代码就像阅读书籍。好代码让你终生受益,坏代码会给你留下阴影。

一。先把源代码安装起来编译起来,结合它的文档和手册,熟悉其功能和它的应用方式。如果遇到的是英文文档,那么首先恭喜你,如果硬着头皮看下来,不仅能在国内开此系统或框架的先河,而且能让你阅读英文的水平大幅提升。

二。浏览源代码的目录结构,了解各个目录的功能。从整体上观察这个工程是有哪些模块组成的,最好能画一画图。

三。经过以上两步后你对这份源代码有了一个初步的了解了,现在开始分析它的源码吧。这一步我们开始分析源代码框架。例如入口方式是单入口还是多入口,页面之间的调用规则,能根据规则找出某个功能用到的页面。

四。熟悉源代码的代码写作风格,例如缩进方式,排版格式,变量命名,函数命名等。

五。熟悉一下源代码用到的数据库和表,可以参考它的技术支持文档。

六。经过以上几步相信已经对源代码有了更深刻的了解,不过这种了解还只是表面的,下来我们从7个方面具体的去分析它吧:

1.入口构造以及页面调用方式的具体实现,如果阅读时看到工具类和工具函数,尽量去熟悉一下。这一步的分析可以学习到源代码的系统架构方式。

2.分析源代码用到的工具类和工具函数,这样可以学到很多程序编写技巧。可以提升自己编程功力。

3.结合一些安全规则,研究这个源代码是怎样实现安全方面的设计的。这样可以提高自己在安全方面的意识和功力。

4.如果有模板引擎的话,研究一下源代码的模板引擎。大致从实现方式,效率,易用性等几个方面去考虑。

5.研究系统的各个功能模块,这样既能学习编程技巧还能打开自己的编程思路,下次遇到类似的东东就心里有谱了。

6.研究系统所用到设计模式,一样的功能实现,用到的设计模式可能相差很多,对比我们之前所作的东东分析设计模式,是提升我们驾驭代码的不二法门。

7.研究源代码对访问压力,执行效率,系统效率,数据库查询的优化。

七。做笔记,把这个开源代码实现的功能,实现方式、设计框架、模块组织、以及代码技巧等记录下来。边记录边总结整理,对学习的东西更容易消化吸收。

八。实践是检验真理的唯一标准,修改一些比较简单地功能,或者写一些简单的sample,并且调试出来,这样才能做到更加理解代码。同时框架性的源代码里一般都有自带的实例,修改使用这些实例,可以快速了解框架的使用。

时间: 2024-10-21 11:18:06

程序员的源代码阅读方法的相关文章

从阅读Discuz的核心代码并给出注释的经历分析程序员该如何阅读代码?

本文标签:   程序员 php Discuz的核心代码 框架 深度学习框架 阅读优秀的代码,是技术水平成长的最佳途径.记得每个进来的新人,我都做过阅读优秀代码的要求,但几乎都只能坚持很少一段时间而已. 前晚大家还在开玩笑的讨论,都是因为看了前人的一些写法,才学会了一些乱七八糟的花招. 晚上我又开始重新阅读Discuz的核心代码,花了1h多的时间,才完成一个core文件的注释. 注释后的代码: <?php /** * [Discuz!] (C)2001-2099 Comsenz Inc. * Th

程序员怎样高效阅读

从读书谈起 一开始我的问题是:"程序员应该怎样读书?" 如果把程序员去掉,问题就变成"读书的方法或者做笔记的方法".这个问题有很多大家已经给出了回答: 张五常:读书的方法:理解比记忆或做笔记更重要,学会提问与抓重点. 李敖介绍他的读书方法:对书籍进行"拆卸",留下自己想要的素材和观点,再归档.分类为我所用. 杨绛:钱钟书是怎样做读书笔记的:广泛阅读,多语言,多学科.勤做笔记,每读完一些内容都会把感想和心得记录下来. 阅读本身是有一些实用技巧的,比

转:哪本书是对程序员最有影响、每个程序员都该阅读的书?

哪本书是对程序员最有影响.每个程序员都该阅读的书? 国外知名网站stackoverflow上有一个问题调查: 哪本书是对程序员最有影响.每个程序员都该阅读的书?,这个调查已历时两年,目前为止吸引了153,432人访问,读者共推荐出了478本书(还在增加),其中最火的一本书<Code Complete>被顶了1306次.如果你是个程序员,你一定有兴趣看看这些书里你都看过几本,如果你一本没看过的话,我也不好说什么,也许你是个天才,但我相信大多数人都知道,你在学校里根本学不到什么真正的工作中需要的知

程序员都该阅读的书

国外知名网站stackoverflow上有一个问题调查: 哪本书是对程序员最有影响.每个程序员都该阅读的书?,这个调查已历时两年,目前为止吸引了153,432人访问,读者共推荐出了478本书(还在增加),其中最火的一本书<Code Complete>被顶了1306次.如果你是个程序员,你一定有兴趣看看这些书里你都看过几本,如果你一本没看过的话,我也不好说什么,也许你是个天才,但我相信大多数人都知道,你在学校里根本学不到什么真正的工作中需要的知识,我们毕业后能帮助我们在公司中胜任工作的老师就是这

为什么C/C++程序员都要阅读Redis源码之:Redis学习事件驱动设计

为什么我说C/C++程序员都要阅读Redis源码 主要原因就是『简洁』.如果你用源码编译过Redis,你会发现十分轻快,一步到位.其他语言的开发者可能不会了解这种痛,作为C/C++程序员,如果你源码编译安装过Nginx/Grpc/Thrift/Boost等开源产品,你会发现有很多依赖,而依赖本身又有依赖,十分痛苦.通常半天一天就耗进去了.由衷地羡慕 npm/maven/pip/composer/...这些包管理器.而Redis则给人惊喜,一行make了此残生. 除了安装过程简洁,代码也十分简洁.

高效能程序员的修炼阅读

入门 宣扬 "每个人都需要知道如何去编程" (乔布斯说的) 是 一种倒退!举个例子: 马桶堵住了,你不需要特地去学 高级水管工 的课程. 生命中最苦难的是想清楚自己真正要做事情,如果你探索的道路上,决定仍然走上 编程之路,那应该用尽一切方法去学.我的祝福与你同在,当然我的祝福 你听听 就算了,他帮不了你. 绝不要为了学编程而学编程,学编程应该是为了追求快乐 . 我成为程序员是因为我想改变我所玩电脑游戏的规则,而学习编程是唯一的途径. 代码是一种信仰. 善于写作,学会表达,即使没人看 八

2014,成为更好程序员的7个方法

本文由 伯乐在线 - haofly 翻译.未经许可,禁止转载!英文出处:Amy Jollymore.欢迎加入翻译小组. 程序员总是有很多的决定,不是吗?如果你的新年待办事项还是空白的话,那么可以考虑使用下面这些程序员的想法.即使是最聪明的人,也还有成长空间.以下内容摘录自 Kevlin Henney 的<程序员应该知道的97件事>. 1.在怪罪其他东西之前先检查自己的代码 质疑一下你自己和他人的预设情况.来自不同供应商的工具,可能内置有不同的预设,也有可能相同的供应商提供不同的工具. 当有人想

程序员修炼三部曲阅读笔记01

看了程序员的修炼三部曲,感触颇多. 这本书主要分为九章,第一章绪论的部分主要是讲述本身一些结构,以及本书对一般的人的作用.第二章将根据徳雷福斯模型(稍后介绍)将人分为新手到专家的五个阶段.你可以根据描述准确的定为自己所处的阶段.三四五章是将自我认识的部分,主要是正对大脑.第三章讲述的是认识你的大脑,会让你对大脑的工作模式有更好的认识,之后当然是实践的第四章-利用你的右脑.大脑也会范错误,需要我们调试,就是第五章的调试你的大脑.在对大脑有了深刻的认识之后当然是关注如何提高了.后面的几章就是关于提高

每一个程序员都必须阅读的10篇文章

原文:10 Atricle Every Programmer Must Read by Javin Paul 作为一名Java程序员和软件开发者,我已经从那些名为<关于XXX,每个程序员都应了解的>的文章中学了很多东西,这些文章倾向于提供许多关于某一个特定主题的实用的.有深度.难以发掘的信息.在我的学习过程中,我读到了不少非常有用的文章,我会收藏这些文章以便日后参考和再次阅读.我个人认为所有程序员可以从这些文章中获益,这也是促使我发帖,并与你们分享这些<关于XXX,每个程序员都应了解的&