原创 如何阅读别人的代码

2009-7-27 19:14 2258 13 14 分类: 软件与OS

https://static.assets-stash.eet-china.com/album/old-resources/2009/7/27/0ccea159-a0b5-4479-b918-3460085af788.rar如何阅读别人的代码 


++++++++++++


第一章: 导论


++++++++++++


1.要养成一个习惯, 经常花时间阅读别人编写的高品质代码.


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


2.要有选择地阅读代码, 同时, 还要有自己的目标. 您是想学习新的模式|编码风格|还是满足某些需求的方法.


 


3.要注意并重视代码中特殊的非功能性需求, 这些需求也许会导致特殊的实现风格.


 


4.在现有的代码上工作时, 请与作者和维护人员进行必要的协调, 以避免重复劳动或产生厌恶情绪.


 


5.请将从开放源码软件中得到的益处看作是一项贷款, 尽可能地寻找各种方式来回报开放源码社团.


 


6.多数情况下, 如果您想要了解"别人会如何完成这个功能呢?", 除了阅读代码以外, 没有更好的方法.


 


7.在寻找bug, 请从问题的表现形式到问题的根源来分析代码. 不要沿着不相关的路径(误入歧途).


 


8.我们要充分利用调试器|编译器给出的警告或输出的符号代码|系统调用跟踪器|数据库结构化查询语言的日志机制|包转储工具和Windows的消息侦查程序, 定出的bug的位置.


 


9.对于那些大型且组织良好的系统, 您只需要最低限度地了解它的全部功能, 就能够对它做出修改.


 


10.当向系统中增加新功能时, 首先的任务就是找到实现类似特性的代码, 将它作为待实现功能的模板.


========================================================


========================================================


更详细章节见附件


 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1591675 2011-5-13 11:36

不错
相关推荐阅读
lg05128018_230568758 2010-10-24 17:21
4052原理,扩展四串口原理
4052原理 cd4051,cd4052,cd4053, 都是数控模拟开关,4051是单刀8掷开关,4052是2刀4掷开关,4053是3刀2掷开关,4051有3个控制端abc,控制8个输入端中的1个与...
lg05128018_230568758 2010-10-13 02:45
Menu
/*********************************************************************************/code KbdTabStruct...
lg05128018_230568758 2010-09-01 08:13
指针-指针数组-数组三者之间的关系
/****************lg05128018**************2009-8-19*****************************//***************指针,指...
lg05128018_230568758 2010-02-22 20:38
EBOOT通过bin文件形式读取、下载LOGO
一般的WINCE系统都是在EBOOT阶段初始化LCD,所以要想显示自己的LOGO就需要在EBOOT阶段将LOGO内容显示出来,读取LOGO的方式可以和从存储器中读取NK一样,具体位置自己来定义。 在E...
lg05128018_230568758 2010-02-22 20:27
nk.bin和nk.nb0的区别(转帖)
 nk.bin 和nk.nb0都是CE的镜像。然而,我们在下载的过程中常常会遇到,有时候下载nk.bin,有时确是下载nk.nb0,这两者到底有什么区别呢? 首先,NK.BIN中的内容是被压缩过的,N...
lg05128018_230568758 2010-02-03 17:53
从一维数组看sizeof和strlen
作者:王姗姗,华清远见嵌入式学院讲师。前几天学习一维数组的赋值的时候遇到这样一个问题,程序如下:char a[]="hello";        char b[5]={'h','e','l','l',...
EE直播间
更多
我要评论
1
13
关闭 站长推荐上一条 /3 下一条