阅读源码心得纪要

往往程序员在接触源代码时有抵触情绪,包括我自己,今天看了一篇《如何看懂源代码--(分析源代码方法)》,建议去看看,虽然是机器翻译的有点长(原文找不到了),但也会学习到很多东西。

记录下自己的读后感,消除内心深处对陌生事物原始恐惧感。

(一)调整心态,积极面对

人类内心深处对于陌生事物存在原始的恐惧感,往往起初内心会排斥去了解源码,不知如何阅读,更加会让自己用消极的心态去面对。

作为程序员面对源码是必然的事情,反正都已经上了贼船,何不以积极的心态去面对,一步一步的找到适合自己的阅读方式,再回头来看都是小菜。

阅读代码的同时会吸收作者的编码风格,看多了自然就形成了自己的风格,吸心大法也就会了,功力自然大大提高。

(二)使用高效工具

工欲善其事,必先利其器

这道理谁都懂,但是如何找到神器呢?(还望大家多多授渔)

Windows用Source Insight,Mac用Sublime Text 2(谁有更好用的别藏着)

(三)摸清源码全貌与行为目的

阅读源码时这点重中之重

要了解一个系统,最好是采取由上至下的方式。先试着捕捉系统架构性的观念,不要过早钻进细节,因为那通常对于你了解全貌,没有多大的帮助

先弄明白系统的整体架构,然后才去由上至下去了解系统的骨干,支柱,核心,搞明白系统组件之间的关系,界定系统组件之间或与其它系统之间的边界。

阅读源码时要有层次感,定义出各个组件之间的角色关系,以角色来了解互动模式,这样能更容易理解代码的运作方式。

这好比在理解某些功能时,把功能行为与现实生活进行结合,会使自己更容易理解其含义。

阅读时可根据命名惯例、注释帮助了解其行为功能,可以提高效率。

(四)由上而下抽丝剥茧

全貌已有所了解,接下来几点对程序抽丝剥茧

  • 找到程序入口
  • 了解程序如何初始化
  • 根据阅读目的决定展开节点数
  • 根据需要的节点数,记录树状结构(阅读同时记录),适度忽略不需要的细节。
  • 无法望文生义的函式,先试着预看一层

对系统框架全貌、行为功能、结构有一定认识后,便可根据需要了解任何片段的细节,此时才是细读时机。

(五)换位思考

阅读源码时尝试将自己置身于作者编码时的心态,去体会作者当时心理和处境。

当然源码可能由多人维护,阅读时可能会呈现多种编码风格,多多去体会,形成习惯,日后会提自己高阅读速度,久而久之就会形成自己的编码风格。

(六)坚持写博客

源码阅读完后,有空就抽时间把自己的心得体会记录下来,写的同时可能会发现之前明白的点前后会存在冲突,去针对性的学习,会进一步加深对源码的理解。

(七)重复阅读

温故而知新,不得不服古人说话,短短的几个字就把道理包含其中。

每次阅读都会加深对源码的理解,会发现新东西,一个不懂的地方,看10遍,20遍肯定能懂。

总结


心态调整很重要,只要积极的去面对,坚持去做,后面那些都不是事儿。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,002评论 25 709
  • 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及...
    dle_oxio阅读 11,242评论 6 244
  • 六月踏着轻盈的步伐来到了我的身边,而我的脑海里时常浮现五月的点点滴滴,那些事情总让我挥之不去。 五月的...
    逐云追梦阅读 210评论 6 6
  • 女孩被安排在另一家快餐厅里上班,朝九晚五,平平静静,没有一丝异样。然而,一个星期后的某天,这姑姑一家人发现女孩不见...
    荼靡书生阅读 285评论 0 0
  • 老善人他为24岁那年腊月下工,归途到白枣树沟,“特意到周姑父家承诺的明年帮他做活”而负责任。在他25岁那年,来到周...
    王泽华wzh阅读 917评论 0 0