阅读代码的方法
2008-03-13 20:21
225 查看
由于工作上的原因,我不得不看大量别人写的代码,这是一件很痛苦的事,尤其是看既少文档注释,又无良好命名和结构的代码.
有本书叫Code Reading,中文译作代码阅读方法与实践, 简单浏览了一遍电子文档, 感觉还是隔靴搔痒, 对提高代码阅读效率并无太大的帮助. 自己感觉还是以下方法有些帮助:
1. 一图胜千言.把对代码阅读的认识用笔记本或wiki记下来, 根据功能,结构,模块进行分类整理可画些框图, 流程图, 时序图或思维导图来帮助理解, 也可利用UML工具反向生成类图,包图
2. 从功能入手, 程序代码再复杂, 最终也要实现预定的功能. 如果是你来实现, 大概的流程也不会差得太多. 不必纠缠于细节, 从主干着手, 由浅入深, 由易到难, 循序渐进.
3. 利用调试工具,通过设断点,单步调试,设观察哨等手段看看到底它是怎么运行的
4. 自己动手写一些简单的例子或测试程序,通过打日志, 设断言来验证自己的判断
5. 如有可能,仔细阅读设计文档, 向熟悉代码的人请教,和代码的原作者或其他维护者一起做Code Review
==Tools==
* Enterprise Architect --我最喜欢的UML工具
http://www.sparxsystems.com/products/ea.html
* FreeMind --画思维导图的工具
http://freemind.sourceforge.net/
* 各种语言的IDE和调试器: VC, Eclipse,GDB, etc.
* 代码浏览,查看和搜寻工具: SourceInsight, find, grep, etc.
有本书叫Code Reading,中文译作代码阅读方法与实践, 简单浏览了一遍电子文档, 感觉还是隔靴搔痒, 对提高代码阅读效率并无太大的帮助. 自己感觉还是以下方法有些帮助:
1. 一图胜千言.把对代码阅读的认识用笔记本或wiki记下来, 根据功能,结构,模块进行分类整理可画些框图, 流程图, 时序图或思维导图来帮助理解, 也可利用UML工具反向生成类图,包图
2. 从功能入手, 程序代码再复杂, 最终也要实现预定的功能. 如果是你来实现, 大概的流程也不会差得太多. 不必纠缠于细节, 从主干着手, 由浅入深, 由易到难, 循序渐进.
3. 利用调试工具,通过设断点,单步调试,设观察哨等手段看看到底它是怎么运行的
4. 自己动手写一些简单的例子或测试程序,通过打日志, 设断言来验证自己的判断
5. 如有可能,仔细阅读设计文档, 向熟悉代码的人请教,和代码的原作者或其他维护者一起做Code Review
==Tools==
* Enterprise Architect --我最喜欢的UML工具
http://www.sparxsystems.com/products/ea.html
* FreeMind --画思维导图的工具
http://freemind.sourceforge.net/
* 各种语言的IDE和调试器: VC, Eclipse,GDB, etc.
* 代码浏览,查看和搜寻工具: SourceInsight, find, grep, etc.
相关文章推荐
- 【代码阅读的方法与实践】第3章 高级C数据类型
- 代码阅读方法与实践(一)
- 阅读layim代码小记,实现可以更改用户签名的方法
- 提高代码阅读能力的7种方法
- 在水木上看到的代码阅读的方法
- 提高代码阅读能力的7种方法
- 【代码阅读的方法与实践】第4章 C数据结构
- 代码阅读的方法
- 代码阅读方法与实践阅读笔记01
- 阅读代码的方法
- [读书笔记]阅读代码的方法与实践(一)
- code reading(代码阅读方法和实践)------摘记(1)
- 阅读程序代码的技巧与方法
- 阅读代码的方法
- 阅读下面代码,程序列举了3种二维数组作为参数传递的方法:[转载]
- 提高代码阅读能力的7种方法
- 提高代码阅读能力的7种方法
- 【Nutch2.2.1源代码分析之4】Nutch加载配置文件的方法 分类: H3_NUTCH 2014-08-22 21:57 928人阅读 评论(0) 收藏
- 【代码阅读的方法与实践】第5章 高级控制流程
- 《代码阅读方法与实现》阅读笔记二