如何快速看懂一个大型程序

    在软件研发过程中,我们经常碰到如下情况:许多学习开发的同学或在职的程序员都经常为拿到一个大型程序后,在短时间内无法快速读懂它而烦劳。当他们拿到一个大型程序后,他们便开始一句一句的阅读分析,夜以继日,就差悬梁刺股了,可结果依然不理想,往往进入以下状态:
(1)花费了很长时间,也没有多大进展,与当时预计的日期相差甚远。
(2)由于周期较长,他们往往在重复阅读分析最初的极小部分。就像有的童鞋读书一样,几个月前读的是前两章,几个月后还是那两章,原地踏步踏。
(3)他们没法弄清楚程序的结构,就像在云里露里行走,看不清前方的路,后面已经走过的路也是迷惘模糊。
    他们很痛苦,为什么会这样呢?久而久之便形成胆怯心理,当接手一个新功能新程序后,在士气上已经丢了几会,渐渐地丢了那股初出茅庐时的勇气。
(4)当拿到他人的程序后,都是想改的冲动,把它修改成自已风格的,即使还没有搞明白它们,依然在改。

    这样的状态对他们有深的影响:其一,任务不能如期完成,导致成本一再飙升。其二,不便于他们能力的提升,因为要能力提供往往需要去更多的研究他们实现的系统或优秀的开源代码。


   转载请注明原地址:http://blog.csdn.net/jysg9/article/details/24193181 
    
    下面说说如下快速读懂一个大型程序,谈一谈鄙人的见解:
(1)先建好环境,让程序能运行,玩一遍
    当你拿到一个程序后,即使你不看代码,你也应该知道它是干什么的吧!若它是干什么的都不知道,建议你不用看。因为程序中肯定有些功能逻辑的实现,干什么都不知道,则肯定没法看,放弃吧!
    若你知道这个程序的大概功能。那么你先不用看代码,先把环境建立起来,想办法让程序运行一遍。在一般情况下,要做到这一点不难吧!
    为什么我推荐将程序运行一遍呢?因为建立好的运行环境,一方面可以初步验证一下此程序的功能,以及正确性完整性,另一方面方面接下来的分析调试,通过加日志断点就可能了;同时面对这个大型程序,程序运行通了,能没有成熟感吗?能不愉悦吗?


(2)看想办法掌握程序的结构
    对于开源项目,通过作者微博、Google、百度、PDSN、等找到程序的体系结构,通常情况下是能找到些资料的。即使情况差一点,也能找到星星点点,而这些星星点点对你的研究往往有很大的帮助。
    若是公司内部的项目,则一般都有完整的文档。不要舍弃文档而便开始reading。我们看见许我程序员往往有这样的通病:当他们拿到一个程序员,便迫不急待的找main/WinMain,接下来如坐禅般一坐几个小时。


(3)先体系再细节;先平面再线点。
    不要一开始便逐字逐句的看,这种方法是最低效的方法。这些童鞋想必在经前的做事过程中,往往是先了解各个点,再将点串也线,线串也面。他们直到最后才看清楚程序的面目,可能经过几个月才豁然开朗。整个过程如地狱般煎熬。
    而有推荐的方法是:先整体再局部,先平面再线点。这样不解更高效,而且轻松啊。
    这也是为什么总有那么几个天才程序员很空闲的原因之一。 


    这里要说的是"大胆猜测,小心求证"。在阅读程序的过程中,我们往往对某一处或几处逻辑不肯定,可能是这样,也可能是那样。在这个岔路口,这时许多小伙伴们往往不知道如何选择了,停滞不前。其实这个时候不需要停留,大胆猜测,大胆往前走。走通了则证实你的猜测正确性。走不通则返回走另外一条路就可以了。


(4)断点调试、日志调试。
    因为在最初我们已经将环境建立好了,那么当遇到一些难于理解的问题啊,结合断点调试便迎刃而解了。看见许多小伙伴经常在QQ问这问那,一些再简单不过的问题,break一下,
demo一下,答案便出来了。
    即然想做有前途的程序员,为什么不多动动你聪明的大脑,不多动动你高贵的双手呢。


(5)忽略细节,先前不要关注分支(支线)。
    这一点很重要啊。许多小伙伴一开始就有不求甚解的精神(叫"洁癖"或更为恰当)。
他们的做法是从Main开始一字一句的解读,遇到一个问题,直到他认为这个问题已经处理不再是个问题的时候,才进行下一步。
    这是一个做事方法问题:这样无疑会导致整个进度的延缓。若我们一开始只关注整体结构(一个宏观的大概的流程),而忽略掉那些细支末节,则很有利。
    那些可以忽略呢?
如有些函数一看函数名便知道是干什么的,没有要一开始便深入。
有些系统中的分支(如某此特殊场景下才执行的逻辑)、不重要的功能,则一扫而过。


    先整体再局部,先宏观再微观,先流程再细节。


(6)其它
善用搜索引擎,试试切换不同的关键字,往往有意外的收获。


还有许多其它方法,有时间再扩展。


转载请注明原地址:http://blog.csdn.net/jysg9/article/details/24193181 


  • 44
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
快速理解一个 Vue 项目,可以按照以下步骤进行: 1. 确定项目结构:首先,查看项目的目录结构。了解项目中的主要文件夹和文件,例如 src 文件夹、components 文件夹、router.js、store.js 等。这将帮助您获得项目的整体概览。 2. 查看入口文件:查看项目的入口文件,通常是 main.js。这个文件通常包含 Vue 实例的创建、路由配置、状态管理等核心设置。阅读这个文件可以帮助您理解整个项目的基本架构。 3. 浏览组件:查看项目中的组件文件夹,了解项目中的各个组件。阅读组件的代码和模板可以帮助您理解项目的不同功能和界面。特别关注根组件(通常是 App.vue),这是整个应用程序的起点。 4. 理解路由配置:如果项目使用了 Vue Router 进行路由管理,查看 router.js 文件或相关配置文件。了解项目的路由结构和各个路由对应的组件,以及路由守卫的使用情况。 5. 状态管理:如果项目使用了 Vuex 进行状态管理,查看 store.js 文件或相关配置文件。了解项目中的状态管理逻辑和数据流动方式。 6. 阅读 API 调用:查看项目中的 API 调用代码,了解项目与后端交互的方式。这可以帮助您理解数据的获取和处理过程。 7. 辅助工具和插件:查看项目中使用的辅助工具和插件,例如 Axios、Element UI、vue-router、vuex 等。了解这些工具和插件的使用方式可以更好地理解项目的功能和实现。 8. 运行和调试:最后,启动项目并在浏览器中查看应用程序。通过与实际运行项目并进行调试,可以更深入地理解项目的运行和交互方式。 通过以上步骤,您应该能够快速了解一个 Vue 项目的基本结构、功能和实现方式。当然,在实际的项目中,您可能还需要深入研究和阅读特定模块的代码,以更全面地理解项目。祝您在理解 Vue 项目时顺利!如有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值