您的位置:首页 > 编程语言

【代码阅读的方法与实践】第1章 导论

2013-08-08 08:13 183 查看

第1章 导论

低品质的代码:

l 编码风格不一致

l 结构不必要地复杂或难以理解

l 明显的逻辑错误或疏忽

l 过度使用不可移植的构造

l 缺乏维护
为什么读源码:维护、演化、重用、审查。
要养成一个习惯,经常花时间阅读别人编写的高品质代码。
要有选择地阅读代码,同时,还要有自己的目标。您是想学习新的模式、编码风格、还是满足某些需求的方法?
要注意并重视代码中特殊的非功能性需求,这些需求也许会导致特定的实现风格。
在现有的代码上工作时,请与作者或维护人员进行必须的协调,以避免重复劳动或因此而产生厌恶情绪。
请将从开放源码软件中得到的益处看作是一项贷款,尽可能地寻找各种方式来回报开放源码社团。
多数情况下,如果您想要了解“别人会如何完成这个功能呢?”,除了阅读代码以外,没有更好的方法。
在寻找 BUG时,请从问题的表现形式到问题的根源来分析代码。不要沿着不相关的路径(误入歧途)。
我们要充分利用调度器,编译器给出的警告或输出的符号代码,系统调用跟踪器,数据库结构化查询语言的日志机制、包转储工具和Windows的消息侦查程序,定出BUG的位置。
有选择地处理大型系统的各个组成部分时,应该采用的策略概括如下

l 定位到感兴趣的代码

l 单独了解各个特定的部分

l 推断节选出的代码与其余代码的关系
对于那些大型且组织良好的系统,您只需要最低限度地了解它的全部功能,就能够对它做出修改。
当向系统中增加新功能时,首先的任务就是找到实现类似特性的代码,将它作为待实现功能的模板。
从特性的功能描述到代码的实现,可以按照字符串消息,或使用关键词来搜索代码。
在移植代码或修改接口时,您可以通过编译器直接定位出问题涉及的范围,从而减少代码阅读的工作量。
进行重构时,您从一个能够正常工作的系统开始做起,希望确保结束时系统能够正常工作。一套恰当的测试用例可以帮助您满足此项约束。
阅读代码寻找重构机会时,先从系统的构架开始,然后逐步细化,能够获得最大的效益。
代码的可重用性是一个诱人的,但难以掌握的思想;降低期望就不会感到失望。
如果您希望重要的代码十分棘手,难以理解与分离,可以试着寻找粒度更大一些的包,甚至其他代码。
在复查软件系统时,要注意,系统是由很多部分组成的,不仅仅只是执行语句。还要注意分析以下内容:文件和目录结构、生成和配置过程、用户界面和系统的文档。
可以将软件复查作为一个学习、讲授、援之以手和接受帮助的机会。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  程序设计