高效阅读代码小总结

可能比较愚笨,阅读代码这种事情,总是觉得比较难搞,费时费精力。

看过一些代码,写过一些代码。略有小总结分享一下。

好的阅读代码效果:应该是时间少,掌握度高。

没有银弹,要达到高效要从几个维度来出手。


1.找文档,找资料。

代码只是方案的实现,看官方的设计文档准没错。这是一类抽象层面的东西。

也可以看别人写的代码分析文档或者书。当然看别人的代码分析文档好像有点作弊的意思,但是这的确是高效的方法。如果你的目的是靠自己的能力来阅读,想练习下能力。请忽略,不过人生苦短,没有必要纠结。把宝贵的时间留给遇到的冷门的代码,是个好主意。要平衡好成本与收益。

官方文档上官网上找,如今不少东西都是某个SPEC规范的实现,看协议。老实说,大部分协议写得不是给人看的,啰嗦又绕弯的,总把一些简单的东西说得高大上。协议真的是很有仪式感的存在!

比如Linux kernel代码里面有document,邮件有RFC规范。

2.代码阅读

开始第二类具体实现层面,

代码模式的掌握:

首先大体上要明白一点,代码的世界常用的模式真的没有多少个。看代码时,看到几个片段代码就能猜出可能的实现模式。这真的会大大加快代码阅读效率。只是对代码模式的掌握要积累。十年前,看大点的代码就容易晕,戏精般的觉得不把代码看完,鬼知道会怎么实现的。现在看来好用的基本模式没几个,没那么多可能,看下核心代码片段就猜得啥模式。

代码语言掌握:

语言其实是有限制的,虽然说思想不会受限于语言,但是实现会受限于语言能与不能。

C语言和C++/JAVA的代码风格就很不一样。OOP就是对象中心的,C也可以对象化,但真的少见。OOP把类关系UML画出来,接口搞明白基本完成一半的工作。

运行调试

这是对看代码的一个重要补充。看代码可能看错,或者有些点没有想明白,在复杂的代码中,不如实际运行调试来得快。

代码是静态的,运行是动态的。看代码本身存在猜测的可能,运行是实证性。

3.得到什么

看代码要得到什么?我有一个不错的隐喻。代码是2D扁平的,但是代码构建的是一个可运行的3D立体模型。

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值