- 3
- 0
- 约1.36万字
- 约 17页
- 2017-06-15 发布于湖北
- 举报
如何阅读源代码
--转自CSDN_oncoding
+++++++++++
第一章: 导论
++++++++++++
1.要养成一个习惯, 经常花时间阅读别人编写的高品质代码.
2.要有选择地阅读代码, 同时, 还要有自己的目标. 您是想学习新的模式|编码风
格|还是满足某些需求的方法.
3.要注意并重视代码中特殊的非功能性需求, 这些需求也许会导致特殊的实现
风格.
4.在现有的代码上工作时, 请与作者和维护人员进行必要的协调, 以避免重复劳
动或产生厌恶情绪.
5.请将从开放源码软件中得到的益处看作是一项贷款, 尽可能地寻找各种方式
来回报开放源码社团.
6.多数情况下, 如果您想要了解别人会如何完成这个功能呢?, 除了阅读代码
以外, 没有更好的方法.
7.在寻找bug 时, 请从问题的表现形式到问题的根源来分析代码. 不要沿着不相
关的路径(误入歧途).
8.我们要充分利用调试器|编译器给出的警告或输出的符号代码|系统调用跟踪器
|数据库结构化查询语言的日志机制|包转储工具和Windows 的消息侦查程序, 定
出的bug 的位置.
9.对于那些大型且组织良好的系统, 您只需要最低限度地了解它的全部功能, 就
能够对它做出修改.
10.当向系统中增加新功能时, 首先的任务就是找到实现类似特性的代码, 将它
作为待实现功能的模板.
11.从特性的功能描述到代码的实现, 可以按照字符串消息, 或使用关键词来搜
索代码.
12.在移植代码或修改接口时, 您可以通过编译器直接定位出问题涉及的范围,
从而减少代码阅读的工作量.
13.进行重构时, 您从一个能够正常工作的系统开始做起, 希望确保结束时系统
能够正常工作. 一套恰当的测试用例(test case)可以帮助您满足此项约束.
14.阅读代码寻找重构机会时, 先从系统的构架开始, 然后逐步细化, 能够获得
最大的效益.
15.代码的可重用性是一个很诱人, 但难以理解与分离, 可以试着寻找粒度更大
一些的包, 甚至其他代码.
16.在复查软件系统时, 要注意, 系统是由很多部分组成的, 不仅仅只是执行语
句. 还要注意分析以下内容: 文件和目录结构|生成和配置过程|用户界面和系统
的文档.
18.可以将软件复查作为一个学习|讲授|援之以手和接受帮助的机会.
++++++++++++++++++++
第二章: 基本编程元素
++++++++++++++++++++
19.第一次分析一个程序时, main 是一个好的起始点.
20.层叠if-else if-...-else 序列可以看作是由互斥选择项组成的选择结构.
21.有时, 要想了解程序在某一方面的功能, 运行它可能比阅读源代码更为恰当.
22.在分析重要的程序时, 最好首先识别出重要的组成部分.
23. 了解局部的命名约定, 利用它们来猜测变量和函数的功能用途.
24.当基于猜测修改代码时, 您应该设计能够验证最初假设的过程. 这个过程可
能包括用编译器进行检查|引入断言|或者执行适当的测试用例.
25.理解了代码的某一部分, 可能帮助你理解余下的代码.
26.解决困难的代码要从容易的部分入手.
27.要养成遇到库元素就去阅读相关文档的习惯; 这将会增强您阅读和编写代码
的能力.
28.代码阅读有许多可选择的策略: 自底向上和自顶向下的分析|应用试探法和检
查注释和外部文档, 应该依据问题的需要尝试所有这些方法.
29.for (i=0; i
30.涉及两项不等测试(其中一项包括相等条件)的比较表达式可以看作是区间成
员测试.
31.我们经常可以将表达式应用在样本数据上, 借以了解它的含义.
32.使用De Morgan 法则简化复杂的逻辑表达式.
33.在阅读逻辑乘表达式时, 问题可以认为正在分析的表达式以左的表达式均为
true; 在阅读逻辑和表达式时, 类似地, 可以认为正在分析的表达式以左的表达
式均为false.
34.重新组织您控制的代码, 使之更为易读.
35.将使用条件运行符? :的表达式理解为if 代码.
36.不需要为了效率, 牺牲代码的易读性.
37.高效的算法和特殊的优化确实有可能使得代
您可能关注的文档
最近下载
- 项目可行性研究报告大纲.pptx VIP
- 小学体育五年级下册教案(最全).doc VIP
- 照顾老人保姆合同范本10篇.docx VIP
- 图形推理专项练习题.FIT).pdf VIP
- 《钢轨超声波探伤系统的设计》【毕业设计论文】.doc VIP
- 2022年广东高考生物试卷真题及答案详解(精校版).pdf VIP
- Panasonic 松下 录像机 DMR-EH59 DMR-EH49 Operating Instructions 操作手册说明书 (英语).pdf
- 迪罗—特马法纤维开松混合设备机械原理.pdf VIP
- 高考英语单词3500乱序版.pdf VIP
- 2024年新课标高考福建高考真题生物试卷(原卷版).docx VIP
原创力文档

文档评论(0)