大家是如何阅读别人的代码呢?

2012-09-17 23:56:42 +08:00
 fire9
5879 次点击
所在节点    程序员
18 条回复
dreambt
2012-09-18 00:07:25 +08:00
while(1){
if(非格式化) break;
if(非OO) break;
if(注释少得看不懂) break;
readline();
}
fire9
2012-09-18 00:12:08 +08:00
@dreambt 有创意。
fire9
2012-09-18 00:12:58 +08:00
我记得有一本《代码阅读方法与实践》英文名叫《Code Reading》,专门讲如何看代码的。
kojp
2012-09-18 00:41:54 +08:00
@fire9 谢谢。。
chairo
2012-09-18 08:51:54 +08:00
debug,一步一步跟进去,然后关键点做注释,代码跳转地方记录并做注释
cyberscorpio
2012-09-18 08:55:38 +08:00
一般不看,非看不可的时候,四个字:硬着头皮。
RobinFai
2012-09-18 09:07:24 +08:00
同楼上,非看不可时硬着头皮上。
hpyhacking
2012-09-18 10:21:53 +08:00
一般看代码我都会带着一些目的,譬如为什么会产生这个结果值,这东西为什么会有这个效果。

带着问题去看,去设断点往往会得到更好的效果。
sivacohan
2012-09-18 11:07:26 +08:00
分东西,非看不可同楼上。如果是开源项目,要么有文档,要么有rfc。
HappyDay
2012-09-18 11:42:47 +08:00
格式化先
zooandzoo
2012-09-18 11:57:49 +08:00
断点 DEBUG 最笨的方法,也是最有效的方法
sqbing
2012-09-18 12:03:15 +08:00
首先浏览一遍,注释少的猛加注释
代码逻辑比较隐晦的只能debug看了
primer
2012-09-18 13:07:26 +08:00
先看变量名,函数名,根据名字猜出大概功能,然后再细看代码。
guotie
2012-09-18 17:28:44 +08:00
gdb
yuest
2012-09-18 19:54:22 +08:00
从入口函数读起,比如 main 方法或假设一个请求过来开始触发的函数
读到不懂的函数就跳去读定义,系统函数或库不懂得就 google

当然只适合代码量比较小的东西
air00dd
2012-09-18 20:34:50 +08:00
有些软件可以把一些代码UML化,结构层次先大略了解下
pppcat
2012-09-18 21:35:41 +08:00
1 找项目的文档,如果找到了,先看文档
2 大概看一下源文件名字 可以猜出来很多东西
3 调试跟踪大体流程
4 找到你的关注点,详细看
batfree
2012-09-18 22:20:11 +08:00
opengrok,sourceinsight,grep,打开LOG,然后看执行过程,我就是这么看Android的源码的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/47937

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX