由于工作上的原因,我不得不看大量别人写的代码,这是一件很痛苦的事,尤其是看既少文档注释,又无良好命名和结构的代码.
有本书叫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.