用户操作
[即时聊天] [发私信] [加为好友]
babydavic(王汉祥)ID:babydavic
115647次访问,排名788,好友9人,关注者10人。
java
babydavic的文章
原创 74 篇
翻译 1 篇
转载 38 篇
评论 57 篇
babydavic(王汉祥)的公告
大家互相讨教问题:请找我.QQ群:13861235 .....
最近评论
redcoatjk:你也很搞笑
crtl+v 2次....
搜索:又是一模一样的~!
platform:应该去看俺的.net版本的http send方法。哈哈
基本上已经是天下无敌了
xubin_xubin:写的不错
killingangle:不错啊,我转走了哦~谢谢啊~!~!
文章分类
收藏
    相册
    美丽图片
    dojo
    dojo官方网站
    DWR
    DWR collection converter 使用摘要
    DWR util 介绍
    ejb3
    ejb3的中文简介网站(RSS)
    javascript
    javascriptkit
    javascript画图形
    seo问题
    Web2.0(外国)
    判断系统是否安装了alexa
    动态javascript(外国)
    图片相册-javascript(RSS)
    图片集旋转显示
    Jmeter
    Jmeter_让它教会你使用jmeter
    jmeter下载
    jprofile
    Jprofile使用说明
    Junit单元测试
    junit测试
    MQ
    MQ
    webServer
    resin的另一个网址
    WebWork
    webwork中实现扩展用例方案1
    webwork基本用法
    正则表达式
    正则表达式
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 阅读源代码收藏

    新一篇: Servlet生命周期 | 旧一篇: JAVA语句查找字段名

    1**********************************************************************************   
     阅读源代码对于程序员来说是提高技术实力和业务知识最好的方法,那么我们怎样阅读源代码就是我们 首先要解决的问题。

          阅读源代码就像管理一家大的公司,关键在于管理者卓越的领导意识。作为阅读源代码的人也应该有良好的意识,在阅读源代码时才能事半功倍。养成良好的阅读习惯。

      阅读方法如下:

    <!--[if !supportLists]-->   1.<!--[endif]-->对于一个大的项目,首先要弄清项目的框架结构和各个项目模块的功能(输入什么,处理以后输出什么). 在这一点上Ant工具做的相当到位,通过编写build.xml和xml的良好的语法结构可以清楚的看到框架。Make工具也做比较出色。具体细节可参考GNU Make /Apache Ant Manual.和程序的build.xml或makefile文件。

           2. 参照源代码和对应文档及业务知识 掌握各个项目模块的主流程也就是先从每个模块的main函  数开始,按照顺序列出所用的函数,试着画流程图。注意:对于列出的函数我们现在只关心输入什么,处理后输出什么即函数的功能,不关心函数的实现,用UltraEdit32最新版阅读时十分方便。

            3.以上两步熟悉以后,在进一步熟悉各个项目模块的主流程,要弄清各个自定义函数的具体实现(标准库函数除外 原因:由厂商提供,厂商只提供函数的功能)。

          4.在每一步都要做好源代码阅读笔记,总结方法和技巧。每个项目的源代码阅读要多读几遍,书读百遍 其义之见 呵呵 定期与同仁切磋交流。

          5.提出更好的解决方案,(按照软件工程的设计步骤)评估方案的性能(界面,易用性,内存等方面).

          6.每日构建 具体参考构建工具和相关文挡。

     

    2**********************************************************************************
    接着,看一看大师是如何做的。一般,要初步了解人家的框架模型,(这可以通过追踪一些核心函数/类得到一些印象,或者开发文档等);进一步,找到核心数据结构,核心数据结构会直接影响代码的质量。(曾经有人说:我不要看你的程序,让我看一看你的数据结构!)事实上,当你完全读懂它的数据结构时,在来阅读源代码,就是水到渠成的事了。


    3**********************************************************************************
    1、阅读源代码的说明文档,比如README,   作者写的非常的详细,仔细读过之后,在阅读程序的时候往往能够从README文件中找到相应的说明,从而简化了源程序的阅读工作。
    2、如果源代码有文档目录,一般为doc或者docs,   最好也在阅读源程序之前仔细阅读,因为这些文档同样起了很好的说明注释作用。
    3、从makefile文件入手,分析源代码的层次结构,找出哪个是主程序,哪些是函数包。这对于快速把握程序结构有很大帮助。
    4、从main函数入手,一步一步往下阅读,遇到可以猜测出意思来的简单的函数,可以跳过。但是一定要注意程序中使用的全局变量(如果是C程序),可以把关键的数据结构说明拷贝到一个文本编辑器中以便随时查找。
    5、分析函数包(针对C程序),要注意哪些是全局函数,哪些是内部使用的函数,注意extern关键字。对于变量,也需要同样注意。先分析清楚内部函数,再来分析外部函数,因为内部函数肯定是在外部函数中被调用的。
    6、需要说明的是数据结构的重要性:对于一个C程序来说,所有的函数都是在操作同一些数据,而由于没有较好的封装性,这些数据可能出现在程序的任何地方,被任何函数修改,所以一定要注意这些数据的定义和意义,也要注意是哪些函数在对它们进行操作,做了哪些改变。
    7、在阅读程序的同时,最好能够把程序存入到cvs之类的版本控制器中去,在需要的时候可以对源代码做一些修改试验,因为动手修改是比仅仅是阅读要好得多的读程序的方法。在你修改运行程序的时候,可以从cvs中把原来的代码调出来与你改动的部分进行比较(diff命令),   可以看出一些源代码的优缺点并且能够实际的练习自己的编程技术。
    8、阅读程序的同时,要注意一些小工具的使用,能够提高速度,比如vi中的查找功能,模式匹配查找,做标记,还有grep,find这两个最强大最常用的文本搜索工具的使用。 

    发表于 @ 2006年08月17日 02:54:00|评论(loading...)|编辑

    新一篇: Servlet生命周期 | 旧一篇: JAVA语句查找字段名

    评论

    #ckj 发表于2006-08-17 09:27:00  IP: 60.176.205.*
    看了你的文章很有启发,
    #phixcoco 发表于2006-08-17 13:13:00  IP: 10.212.43.243, 10.212.43.*
    呵呵,不错~
    我在Linux就用vi,正则表达式等和Linux工具真是完美得结合
    在Windows下我就用UltraEdit,他的功能也十分强大
    阅读和修改代码就靠此类的软件了~
    #zyj 发表于2006-08-17 19:11:00  IP: 159.226.40.*
    呵呵 Windows下还是Source Insight好啊
    Linux下vi
    #brokenarrow2006 发表于2006-08-18 06:27:00  IP: 61.173.28.*
    windows下读代码的话还是觉得VS2005比较好, 还能跟代码
    #璁$畻閾惰ComputeBank 发表于2006-08-18 23:27:00  IP: 61.189.196.*
    x现在使用Source Insight和VS2005
    但是感觉这源代码应该带有源代码的结构说明最好~~
    现在基本上都是属于没有说明的

    -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    我的Blog,创业、思考与探讨下一代计算技术:
    http://computebank.spaces.live.com/
    http://www.zhangcheng.name
    #ABCD 发表于2006-08-18 22:59:00  IP: 202.105.104.*
    试试 SlickEdit
    #flyingxu 发表于2006-08-20 11:41:00  IP: 218.80.76.*
    re 璁$畻閾惰ComputeBank :
    我也觉得有这个问题,我觉得那些高手肯定会有一些uml啊,之类的文档的,但是开源的项目中,这样的好像不流行
    #techrazy 发表于2006-08-21 16:20:00  IP: 61.181.236.*
    阅读代码,一定要先有宏观的掌握能力。在此基础之上,要了解设计模式和相关软件系统的特点。这样读起来才会省力啊!
    同时,读不只是被动的,在了解了软件要解决的问题之后,会去预测代码会成为什么样子,在从代码中验证这种预测。这样,得来的才是经验和知识。

    (一个读Linux代码的人的一些感触)
    发表评论  


    登录
    Csdn Blog version 3.1a
    Copyright © babydavic(王汉祥)