阅读源代码的疑问

  假如选择去阅读源代码,会有以下几个问题。根据网上资料,我整理了一些答案,不全,有待补充。

  1.阅读哪些源代码?

  常见地有:redis,nginx,lua源码,Linux kernel/meego,memcache,Snort,uc/osII 源代码(低版本的linux内核代码)以及一些基本的linux命令的源码。

  提供一个Linux基本命令的源代码安装方式的链接:http://page.renren.com/600759338/note/769205392?op=pre&curTime=1318604941000(已验证,有效)

  2.去哪里下载源代码?

  一般有:github,sourceforge。如果使用ubuntu的话,还可以使用命令sudo apt-get source [软件名],获取代码包。

  3.如何阅读源代码?

  高手(不是我)推荐,先看设计文档,了解软件设计框架、软件涉及问题、实现功能、然后再察看软件代码包中的内容,确定从哪个文件开始,可以从数据初始化切入,也可以从数据I/O开始。总之,先整体后细节。

  无数多的高手告诉我们,应该阅读源代码。从直觉来说,阅读源代码似乎更接近语言的学习过程——先多读再多写。但是依然有大牛疾呼:“不要一开始就阅读源代码!要多写再多读”大牛的理由很充分,第一阅读源代码,往往需要先进入别人的思维,这个过程很难;第二,阅读源代码的学习效率极其低下。所以,大牛推荐的学习方式是先按自己的思路去实现一个项目,然后找对应的开源项目比较,看谁做的好。

  具体怎么办,还是因人而异了。下面的链接,更为具体地解释了如何阅读源代码的问题。

  http://www.cppblog.com/xguru/archive/2010/06/04/code_reading.html

 

  ps: 又看到一篇关于阅读代码的好文章。从中总结了一些平时为我所忽略的要点,下面的引号范围内,

总:读代码要做的第一件事,是要找到对代码的结构和风格的感觉。开始应当浏览,并且努力找出各部分代码都在干吗?熟悉整套代码的高层结构。

分:
遇到不能理解的地方,可以自己写一些测试程序,对代码进行测试。

把弄不懂的部分拿到单独的程序中来。把一些功能抽到单独的程序中测试,并调试。

若代码库很乱,可以考虑重构,把你明白了的功能变成独立的函数,并测试。

摘自:《我为何爱读代码,你也应该爱》 http://blog.csdn.net/justpub/article/details/6187192

你可能感兴趣的:(源代码)