如何阅读代码

简介: 从我个人的经历来看,阅读优秀的代码,是技术水平提升的最佳途径。记得对进来的每个新人,我都做过阅读优秀代码的要求,但都只能坚持很少一段时间而已。前晚大家还在开玩笑的讨论,就是因为看了前人的一些代码写法,才学会的一些乱七八糟的花招。

从我个人的经历来看,阅读优秀的代码,是技术水平提升的最佳途径。记得对进来的每个新人,我都做过阅读优秀代码的要求,但都只能坚持很少一段时间而已。

前晚大家还在开玩笑的讨论,就是因为看了前人的一些代码写法,才学会的一些乱七八糟的花招。

晚上我又开始重新阅读Discuz的核心代码,花了1h多的时间,才完成一个core文件的注释。

代码链接:http://git.oschina.net/web3d/DiscuzX/blob/41635f804273ed1f4885ba6d8e293e62e5578f04/upload/source/class/class_core.php

对于这种框架性的代码,不熟悉的话,因为牵涉太多,可能觉得无从下手。所以,一般是先多花一点时间,搞清楚代码的目录结构,做到了然于胸。

下一步,整理文件之间的依赖关系,最好整理成独立的文字,帮大脑形成直观的印象。

然后找准入口文件,从依赖最少的部分看起,越是Library类型的,依赖的东西越少,但一两个lib看过后暂时就没必要看下去了。还是得从框架入口看起,搞清楚框架的运行原理和加载流程。我们的大脑都进灰了,思路没有那么清晰,这个过程,也需要笔记的辅助。

尽可能多做注释,从每个类的含义、包含的功能、每个方法的参数返回值类型、方法的用法举例,实现的原理等,通过注释文字,还原代码作者的思想,进而吸收转换成自己的思想。

判断你会否阅读代码的基本标准,就是能否将代码注释得清晰明了,不再需要额外的辅助文档。因为,从技术人员的角度,代码中的注解性文档,是可以通过工具如phpdoc生成api文档的,相当于一件事情多种作用。无法编写代码,还是阅读代码,都得注意程序设计过程中思路清晰、目标明确。

目录
相关文章
|
6月前
|
大数据
如何快速阅读
如何快速阅读
39 0
|
4月前
|
NoSQL Java 应用服务中间件
关于阅读源码
【1月更文挑战第12天】关于阅读源码
|
6月前
|
设计模式 JavaScript 前端开发
|
10月前
|
缓存 算法 安全
程序员写代码为什么要阅读源码?
阅读一篇技术文章,畅聊一个技术话题。本期文章推荐的是《Node 中的 AsyncLocalStorage 的前世今生和未来》,一起来聊聊开发者阅读源码的这件事。阅读源码的过程实质上是对软件构建技术和架构深度的一种持续学习和理解。阅读源码可以揭示代码的内在逻辑,可以对技术深度的理解,也能提高对技术的理解程度。然而,仅仅阅读源码并不能代替实践操作,因为通过实践,可以更加全面的理解代码的深度和进展。
105 1
|
12月前
|
缓存 程序员 API
【翻译】阅读优秀的代码
【翻译】阅读优秀的代码
59 0
|
设计模式 分布式计算 资源调度
如何阅读源码
如何阅读源码
168 0
|
人工智能 运维 Kubernetes
2022阅读总结
2022年阅读总结,推荐今年看过的不错的书籍。
199 0
2022阅读总结
|
机器学习/深度学习
Sorry About That, Chief!(阅读理解题)
题目描述 When Dr. Orooji was your age, one of the popular TV shows was “Get Smart!” The main character in this show (Maxwell Smart, a secret agent) had a few phrases; we used one such phrase for the title of this problem and we’ll use couple more in the output description!
108 0
|
前端开发 算法 JavaScript
我喜欢这样阅读一本书
  每年各大电商都会推出图书满减活动,每次我都会屯些书,然而在以前,这些书买了后经常放在书架上吃灰,给自己的理由就是没时间看。现在想想是自己当时看的方法不对,由于对每本书都是事无巨细无差别的从头开始一篇篇的看,看的时候也不注意笔记,因此经常是读了后面的忘了前面的,读完整本书,能记得的内容寥寥无几。平时如果用不到的话,等于是白读了,久而久之,就越来越不喜欢阅读书籍了,但屯书的习惯倒没变。
我喜欢这样阅读一本书
|
分布式计算 搜索推荐 前端开发
学会阅读源码后,我觉得自己better了
学会阅读源码后,我觉得自己better了
152 0