`

多多阅读代码,提高自己的认识、分析和编码能力

阅读更多

最近看到一篇文章,大意是讲,阅读优秀代码,是提高开发人员修为的一种捷径。我想加上一句,阅读不优秀的代码也是提高开发人员修为的一种捷径。因为:

1)三人行必有我师,择其善者而从之,择其不善者而改之。

从别人的代码中,即便是质量很一般的代码,也能学到一些东西;更加可贵的是,看到别人写的蹩脚的代码,你要警醒自己有没有犯同样或相似的错误。

2)分辨出是否是优秀的代码比较困难。

之所以这么说,是因为代码是否优秀,没有什么特别明确的标准。

Apache算是一个优秀的开源web服务器吧,但是内部的代码,我不敢妄谈,但一个struct包含上百个成员,难道是一种好的做法吗?

所以要说的就是,不管是什么层次的代码,多阅读一些,可以从一些维度上来分析,包括:

代码的可读性是不是好?组织的是不是好?
代码是否包含了一些值得学习的技巧?

如何我来写的话怎么写?
代码的规范性是不是好?
这段代码我将来是否能够重用?

当然,还有很多维度。好的地方值得学习,我们分析出哪里值得学习,怎么将收获在工作中使用上;不好的地方,分析出哪里是代码的破绽或臭味,自己是否犯过类似错误,怎样在工作中避免这些问题,这也是价值不菲的。


这里之所以这么补充,是因为,即便是Linux的源码、Java的源码、Apache的源码等等,其实从编码上来讲,也是问题多多。不管什么时候,你要有自己的一种判断,判断哪些代码时好的,哪些是差的。因为好的项目,其中也可能包含了一些很差的代码(开源项目更是如此);很一般的项目,也许包含了很多不错的代码。
学习的时候不要被权威给框住,也要勇于寻找问题,不是要嘲讽别人的代码,只是为了锻炼自己的认识、分析能力。而且从某种角度上,找到代码的问题,思考如何避免问题,对自己的锻炼效果更强。

当然,还有就是一边阅读,一边自己也设计和编码。或者,对一段代码,每次阅读,写下来自己的看法,过一段时间再来看,把当初的看法拿出来对照,以印证自己的长进。

 

 

2
5
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics