如何阅读开源项目的源码

问题描述

最近在看struts2的源码,但是觉得效果不好,很盲目,有没有高手指导一下阅读源码的思路啊

解决方案

源代码分两遍来阅读源码。第一遍以应用为线索,以总体结构为基础,阅读在应用中使用到的类和方法,但不用过深挖掘细节,对于嵌套调用,只用通过函数名了解最上层函数的意义,这一遍的目的在于把大致结构了然于心。第二遍就是阅读类和方法的实现细节,以第一遍的阅读为基础,带着疑问去阅读那些自己难以实现的模块。
解决方案二:
先按官方文档使用该开源项目,在使用的过程中思考它的功能大概如何实现,再从源码中验证与完善你的思考。
解决方案三:
先看文档,再看源码。文档会让你对整个框架的架构思想、结构有个整体的把握,然后你才能明白代码的意义。会写代码的人,看懂代码应该没什么问题,关键是这个代码是用来做什么的?为什么要这么做?
解决方案四:
引用最近在看struts2的源码,但是觉得效果不好我建议 已开始不要去看人家的源码!先动手做个小例子! 先入门!然后把基础牢固了!再去看源码 就是 游于得水 了!当然 源码是学习一个框架 的 权威资料!

时间: 2024-12-22 10:10:18

如何阅读开源项目的源码的相关文章

spring-怎么去看一个开源项目的源码?

问题描述 怎么去看一个开源项目的源码? 看了 两天Spring 的源码,从最基本的配置文件加载,DEBUG跟踪,然后获取bean实例,但是看了 两天完全没有头绪,求指点一二 解决方案 我的习惯是,先用起来,然后针对用到的对象逐步深入 解决方案二: 开源项目,源码

学习php开源项目的源码指南_php技巧

一.先把源代码安装起来,结合它的文档和手册,熟悉其功能和它的应用方式. 二.浏览源代码的目录结构,了解各个目录的功能. 三.经过以上两步后相信你对这个开源的产品有了一个初步的了解了,那现在就开始分析它的源码吧.这一步我们开始分析源代码框架.例如入口方式是单入口还是多入口,页面之间的调用规则,能根据规则找出某个功能用到的页面. 四.熟悉源代码的代码写作风格,例如缩进方式,排版格式等. 五.熟悉一下源代码用到的数据库和表,可以参考它的技术支持文档. 六.经过以上几步相信大家已经对这份源代码有了更深刻

源代码-我在学习Android 的ZXing开源项目二维码时 有几个类 不清楚他具体的意义,功能。

问题描述 我在学习Android 的ZXing开源项目二维码时 有几个类 不清楚他具体的意义,功能. ①BitMatrix.java ②ByteMatrix.java ③MultiFormatWriter.java ④QRCodeWriter.java 这4个 我实在不懂 这功能,这里面哪个 是将输入字符串 变成那个0,1 那个的?用什么算法了...我这是Android工程. 谢谢了...

CYQ.Data 数据框架 V3.5 开源版本发布(源码提供下载)

 先说几句:    最近一直在忙微博粉丝精灵+微博人气精灵的微博精灵系列软件的事,简单说就是新浪微博营销这块的,提供基于新浪微博的各项服务. 同时也在寻找对网络(微博)营销的才子一起合作创业,感兴趣请Q我. 本人微博地址签名里应该有,这里也重复提一下:http://www.weibo.com/cyqdata   前言:    最近发现研究 CYQ.Data 框架的人比较多,虽然本人一年来没怎么再推这框架了,感觉用户就是喜欢沉淀多一些.年份久一点的. 由于V3.0的开源版本,在Access里可能有

Eclipse下实现软件项目的源码管理

摘要 CVS很酷,但Subversion更酷.然而,如果你在使用Eclipse进行开发,那么你可能直到近来才能利用Subversion带来的优点.随着Subclipse的发行,Subversion可能会最终在你的Eclipse IDE环境充分发挥其威力而压倒CVS. 一.SCM和Subversion简介 软件配置管理(SCM)是管理源码并保持其安全的良好艺术,它能实现源码与其他团队成员之间保持共享,并且能够对之加以保护.良好地利用SCM,你能够容易地跟踪软件的发行和新的开发分支:这样以来,可以更

【COCOS2D-HTML5 开发之三】示例项目附源码及运行的GIF效果图

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/cocos2d-html5/1528.html Cocos2dx html5开发,对于用过2d Or -x的童鞋来说很容易,Himi这里也没有必要去再跟同学们详细的教学一遍. 所以Himi简单做了一个项目,供给大家参考,源码下载地址及GIF截图在文章最后!           强调一点:运行 cocos2dx-html5项目,大家可以本地安装

Laravel 5.1 on SAE环境开发教程【附项目demo源码】_php实例

本文实例讲述了Laravel 5.1 on SAE环境开发方法.分享给大家供大家参考,具体如下: Laravel-简洁.优雅的PHP开发框架,为 WEB 艺术家创造的 PHP 框架,如今正式移植到SAE环境. 由于Laravel 5.1相比于Laravel 4有很多的改动,不仅以目录结构更加清晰,而且功能也更丰富.但是Laravel官方还是没有原生支持SAE环境(估计永远不会支持),所以我就做了一个移植版本,可以很优雅的切换本地和SAE环境. 由于SAE的特殊性,那么这几个核心问题就必须要解决

CYQ.Data 数据框架 V4.0 开源版本发布(源码提供下载,秋色园V2.5版本标配框架)

说明的说明:   博客园团队两次移此文出首页,说 这篇文章不属于知识分享型文章,并且有广告嫌疑. 本文的确属于分享型文章,而且分享的知识点比其它文章都多很多,看看网友回复"谢谢分享"就知道是分享型文章了.   所谓广告嫌疑,这东西一被扣上,就很难说的清. 本框架从2007年就始发布在博客园,一直更新维护到现在,其中是有过渡到最新版本是收费,但是仍保留开放很多版本的开源的. 但目前发布的,都是开源的免费版本,再说,涉及到收费就是广告?ext也有收费版本,出现ext相关文章你咋不说是广告?

Laravel 5.1 on SAE环境开发教程【附项目demo源码】

本文实例讲述了Laravel 5.1 on SAE环境开发方法.分享给大家供大家参考,具体如下: Laravel-简洁.优雅的PHP开发框架,为 WEB 艺术家创造的 PHP 框架,如今正式移植到SAE环境. 由于Laravel 5.1相比于Laravel 4有很多的改动,不仅以目录结构更加清晰,而且功能也更丰富.但是Laravel官方还是没有原生支持SAE环境(估计永远不会支持),所以我就做了一个移植版本,可以很优雅的切换本地和SAE环境. 由于SAE的特殊性,那么这几个核心问题就必须要解决