怎么样才能提高自己的代码阅读能力?

首先说,做为一个前端开发工程师,阅读别人的代码就是一项必不可少的技能。因为你新入一个公司,第一件事情,就是打开项目文件,看代码。看不懂代码,就没有办法继续开发。但这项技能并不是与生具来的,那要如何培养呢?

首先,就是多收集资料。

例如你是继续开发新项目,那么项目文档,说明文件,设计图稿,与产品经理的沟通等,这都是必不可少的。在搞定这些前期资料的基础之上,你才有可能去理解,项目中的代码为什么要这么写。

这些资料里主要分三类,1、基础资料,刚才已经提到了,这里不再重复;2、专业资料,例如项目所使用的前端框架的说明、教程等;3、项目所在的行业的资料,例如报税?这种行业性的知识你不搞清楚,如何开发的下去?

然后就是找到项目的入口文件。

从入口开始,逐个方法,按功能、按方法、按调用顺序去一层层的深入研究阅读。一般可以按二叉或多叉树的形式去阅读,还可以边读边画流程图,这样可以很容易的分析清楚项目代码的层次和级别关系。

同时,最好是有代码的相关注释。这种注释可以把代码想要表达的思想说明清楚,否则的话,就只能在理解业务需求的基础之上,按功能和需求去猜测某段代码所要表达的意思和功能了。

代码这东西就像读书一样,只读一遍是不行的,必须要重复阅读。至少在我个人来讲,还没有见到谁能一遍就把整个项目代码全部通读理解的呢。

第一遍阅读源码,只是大概的了解代码结构和大致调用关系;第二遍阅读源码能够理解不同方法之间的调用关系和相互结构;至少在我个人吧,我至少需要读到第三遍才能大概的理解源码中的一些关系方法都是做什么,和如何工作的。

最后,面对没什么注释的源码不要发懵,鼓起勇气,读吧。

原文发布于微信公众号 - web前端教室(webfeel)

原文发表时间:2017-11-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏高性能服务器开发

6 从腾讯QQgame高性能服务器集群架构看“分而治之”与“自治”等分布式架构设计原则

腾讯QQGame游戏同时在线的玩家数量极其庞大,为了方便组织玩家组队游戏,腾讯设置了大量游戏室(房间),玩家可以选择进入属意的房间,并在此房间内找到可以加入的游...

1982
来自专栏杨建荣的学习笔记

自动化运维中的脚本管理和工单管理

蓝色的部分是我们已有的部分,另外的部分是我们当时做得不好的地方。 当然这个过程说起来都是辛酸泪。都是一点一滴的改进。

3202
来自专栏lonelydawn的前端猿区

模块化管理系统

看过不少相关软件体系结构的书,理论随口道来,丝毫不成问题,然而第一次接触企业级架构,感触是非常大的。 所谓模块化, 模块化是指解决一个复杂问题时自顶向下逐层把系...

2237
来自专栏大数据钻研

阿里前P8高级架构师讲述微服务架构

微服务倡导将复杂的单体应用拆分为若干个功能简单、松耦合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发。当前被越来越多的开发者推崇,很多互联网行业巨头、开...

1501
来自专栏程序你好

混合持久化让微服务如虎添翼

1213
来自专栏眯眯眼猫头鹰的小树杈

猫头鹰的深夜翻译:Pattern: Service Mesh

在十几年前,我们无法想象一个分布式系统会是什么样子。它给我们带来了全新的架构思路,但同时也引入了一些问题。 当时这些系统非常少有而且架构简单,工程师们通过尽可能...

1252
来自专栏上线了的专栏

Strikingly 团队2017技术展望

为了应对多客户端(Web, iOS, Android)的挑战,2016 年我们在团队层面和技术栈上做了很大胆的尝试:我们把前端团队和移动端合并了,组成了客户端团...

3590
来自专栏软件测试经验与教训

网上看到的面试题,我忍不住吐槽....

3688
来自专栏一个会写诗的程序员的博客

服务网格 Pattern: Service Mesh

自从几十年前首次引入以来,我们了解到分布式系统能够实现我们之前甚至无法思考的用例,但它们也会引入各种新问题。

992
来自专栏程序员互动联盟

能够使用java开发出类似qq的聊天小程序达到了java学习的什么水平?

作为一个已经写了十几年代码的老司机,在写代码之余还会写点技术感受,或者分享一些编程心的,几年下来也积攒了几万粉丝,也有一些对于技术不是很懂的小伙伴,在交流过程中...

2114

扫码关注云+社区