精华内容
下载资源
问答
  • 快速看懂项目代码 如果拿到一个老项目进行新功能改造,首先看懂老项目很重要,而有些老项目由于各种原因没有明确的注释,甚至经多人开发后注释和弃用代码混为一体,惨不忍睹。关于如何看项目代码我有下面一点...

    快速的看懂老项目代码

    如果拿到一个老项目进行新功能改造,首先看懂老项目很重要,而有些老项目由于各种原因没有明确的注释,甚至经多人开发后注释和弃用代码混为一体,惨不忍睹。关于如何看项目代码我有下面一点心得:

    1. 熟悉项目流程
      • 先把程序的功能搞清楚,根据功能画出程序的流程图,弄清楚主流程和自己要看的分流程之间的关系。这里可以先自己思考一下,如果自己设计这个项目会怎么去处理这些需求,可以有一个大概的推演。
      • 然后找之前的设计文档,看一下系统的设计思路,对比一下自己的想法和他们的设计有哪些不同,分析一下优劣。这里一定要揣摩设计者当初的想法和思路,最好是对照目前系统的功能综合理解一下。
      • 这里有更惨的就是找不到当初的设计文档,那也没办法啊,只能自己想办法了,这里我的做法是先去看看项目中的包结构、类和接口的命名、系统的层次关系、数据封装的特点,总会是有规律的。如果发现了某些规律就及时记录下来
    2. 找到逻辑主线
      接下来就是正式看代码了,这里相信很多人都有一个功能找不到入口抓狂的感觉,反正我是有过。
      • 这个先不要急,借助于浏览器的开发者工具快速的找到页面文件,在文件中找到表单提交的路径和页面上最重要的那个功能对应对应的处理方法,看看它们对于数据的封装是怎么处理的。
      • 沿着这个入口找下去,当找到后台代码时一定要在入口出打上 Debug 断点。然后根据自己一开始总结的项目设计的分层风格,快速的找到下一层处理的类和它的主处理方法,一直到与数据库交互的持久层的接口。
        这里先不要纠结代码的实现细节,以找到逻辑主线为目的。
    3. 分清主次关系
      • 看代码一定要找到核心代码,对于一些参数校验、异常处理等等不要太纠结,看清楚他们的条件就行了。
      • 对于有分支判断的地方要注意研究它的判断条件,一般判断条件都是根据前面所封装的数据得出的,这里一定要清楚每个分支所代表的意义,也有主次之分或者说每个并列分支的重要性,然后再去看里面的逻辑,总之时刻联系功能的流程进行对比。
    4. 关注数据传递
      一定要关注数据的传递过程,就是从前端一直到数据库这个过程中对数据的数次封装和使用
      • 先看通过什么类型封装的,是通过容器还是通过直接的一个类对象进行封装,封装成了哪个变量
      • 要注意变量的作用域,是全局的还是方法中的局部变量或者一个判断、循环的,数据也要分清主次
      • 再看看什么地方用了、值改变了没有、如何变的
      • 要特别关注方法的参数和返回值,搞清楚调用时参数的来源,调用了这个方法后达数据做了哪些变化
    5. 勤做总结笔记
      • 对于每看一个小的功能流程都做一下详细记录,包括画调用过程图、记录所操作的数据表、写自己对于项目的一些理解和心得
      • 看完一个整体功能后再把各个分支流程串起来再做一次整理,然后细细品味其中的关系和逻辑。
      • 对于之前的笔记最好是不要删,哪怕是随着自己对系统理解的深入可能会推翻之前的认识,我的做法是把它标出来,写上不同日期。这样再过更长时间后就会有更不一样的理解和自己的见解了。

    以上只是自己在熟悉前人项目代码时的一点心得,希望各位博友提出宝贵的意见以供互相学习,共同提到!!!

    展开全文
  • 快速熟悉项目代码

    千次阅读 2019-03-30 07:59:55
    快速熟悉项目代码1 背景2 方法2.1 通读需求文档,了解项目用途2.2 熟悉开发工具、常用功能2.3 部署环境,把项目跑起来2.4 项目结构2.5 展开项目目录2.6 浏览文件2.7 选切入点2.8 尝试添加功能或者修复bug3 注意点...

    1 背景

    对IT人士而言,换一份工作或进入一个新的公司,往往意味着要熟悉一个新的开发环境,要快速了解新的项目。如何快速地熟悉项目代码,是每个IT人士都会遇到的问题,特别是对刚进入IT职场的应届毕业生,这个问题更显得棘手。下面是我自己在经历几个工作之后结束的一些方法,与大家分享一下,仅贡参考!

    2 普通方法

    2.1 通读需求文档,了解项目用途

    一个企业级的项目,一定会保留一些相关文档吧!比如需求文档,设计文档,项目计划、软件使用说明书等,先通读这些文档,了解项目的用途、主要功能等。

    2.2 熟悉开发工具、常用功能

    每个公司用的开发环境都会有些不同,要熟悉新的开发环境,了解常用的功能、快捷键等,特别是前后使用习惯相差比较大的开发环境,如从MakeFile到IDE,从Qt 5.8 到 VS2017,从Unix到Windows。

    2.3 部署环境,把项目跑起来

    了解开发环境后,就把相关的配置部署好,把项目跑起来。

    • 可以进一步实践新的开发环境
    • 把项目跑起来后可以快速地了解项目的用途和功能

    2.4 看项目结构

    • 一般项目结构会体现系统结构上的层次,并根据经验和项目命名猜测作者的设计思想

    2.5 展开项目目录

    • 根据经验和目录命名猜测作者的设计思想

    2.6 浏览文件

    • 根据文件名猜测文件功用,粗略看

    2.7 选切入点

    • 从入口点切入,走一遍业务逻辑,了解设计思路

    2.8 尝试添加功能或者修复bug

    修改bug和添加功能是熟悉项目最好的方法。能做到时,基本熟悉这个项目的结构和逻辑了。

    3 特殊方法

    如何文档啥的没有,那就直接读代码。

    • 从入口处找到顶层功能类、功能函数
    • 往下找基类、子函数,了解基类、子函数功能(非必要,暂不抠细节)
    • 以此往复,理清功能模块位置和关系
    • 这个过程也变相是逆构UML
    • 最终理清代码

    4 简单举例

    扫地机器人的上位机软件项目

    4.1 3W

    • What?
      上位机软件做什么的?
      ->控制机器人
    • How?
      上位机如何控制机器人?
      ->收发指令
    • Why?
      为什么这么实现?
      ->通用技术路线

    4.2 核心

    • 指令定义
      数据格式
    • 指令管理
      文件操作、数据增删改查
    • 指令收发
      TCP/IP、消息首尾flag

    4.3 设计模式

    • 根据业务逻辑采用相应的设计模式

    5 注意点

    • 保证看代码时间,处理好主次矛盾是成功关键
    • 实事求是,确定工作目标

    参考

    1、C#怎么才能高效,快速的看懂别人写的项目?
    2、快速熟悉项目代码
    3、应该以一种怎样的思路阅读iOS项目代码?

    展开全文
  • 新进公司,项目已接近尾声,先同事代码然后方便调试bug和优化代码,但是一个项目只是一个模块就何其大的代码量,怎样快速熟悉?
  • 如何快速看懂别人的代码

    万次阅读 2017-03-01 15:14:51
    故此从网上学习如何快速看懂别人的代码 收获如下: 1、阅读他人的代码就要阅读其中的精华,站在巨人的肩膀上,让自己成为巨人。 2、不要消极的去阅读别人的代码,而是带着挖掘宝藏的精神去寻找别人的代码中...
    最近由于公司的一位前辈,由于家中之事欲走,所以接手了一个公司长期再做的项目,自己也略有了解,知道这个项目先后经过3人之手的煅炼,现在这个交接棒传到了我的手中,初见代码,头绪全无。。故此从网上学习如何快速的看懂别人的代码
    
    收获如下:
    1、阅读他人的代码就要阅读其中的精华,站在巨人的肩膀上,让自己成为巨人。
    2、不要消极的去阅读别人的代码,而是带着挖掘宝藏的精神去寻找别人的代码中精华的部分,找出其中好的架构为我所用。
    3、了解别人的代码意图,然后再去修改,扩充,抽取,提炼精华。这是进阶的必经之路。
    4、要了解别人的代码,首先要熟悉代码中的命名规范。
    5、阅读代码的目的在于了解系统全貌而非了解细节。
    6、心中必须有对架构的层次感,例如,如果谈到对事件驱动式的架构时,应该想到,这个系统主要有三个重要角色,事件调度,事件产生,事件处理。从上而下了解,先不关心内部细节。
    7、从作者的角度去理解代码,理解架构。
    展开全文
  • 如何快速看懂一个项目

    千次阅读 2019-07-29 10:36:23
    在软件研发过程中,我们经常碰到如下情况:许多学习开发的同学或在职的程序员都经常为拿到一个大型程序后,在短时间内无法快速它而烦劳。当他们拿到一个大型程序后,他们便开始一句一句的阅读分析,夜以继日,就...

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

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

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

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

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

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

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

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

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

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

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

    作者:qq_494856288
    来源:CSDN
    原文:https://blog.csdn.net/jysg9/article/details/24193181
    版权声明:本文为博主原创文章,转载请附上博文链接!

    展开全文
  • 我初学Java面对一个别人的项目不知道该如何着手看懂一个项目,在这里随意发表下自己的想法,引起自己的思考吧,以后自己有新的认识的时候再改进本篇文章。也欢迎大家给本菜鸟提意见和指点。 一、如果有文档的话,从...
  • 快速别人代码的技巧

    千次阅读 2019-01-28 10:27:22
    如何快速别人的代码,对于刚入职或刚接手别人项目的开发者来说是件挺重要的事情,这直接影响着以后的开发进度。本文是我根据自己的经验给出几点实用性很强的建议。 1.通过AndroidStudio 的DDMS模式下的Android ...
  • 如何快速看懂一个Android项目

    千次阅读 2016-04-04 16:26:23
    先把这个apk安装到自己手机,认真研究它的功能, 然后,在工程文件当中考它的manifest.xml了解有哪些Activity View Service, 再看每一个activity对应的.java 就可以简单看懂
  • 比如说,不公司项目开发流程,代码看,业务流程也不知道,框架不会用,等等还有各种各样的问题。 所以很多人一开始都会在担心自己能不能胜任这个职位,会不会连试用期都过不了。其实这个心态是很常见的,每个...
  • 如何更高效看懂别人代码

    千次阅读 2019-09-05 14:22:40
    之前写过一篇看代码的...首先将源码调试好,使之能正常运行,然后就是利用编译器的调试功能,一步一步的追踪程序的运行轨迹,这样就能够更简单的看懂代码,因为已经给你了运行路线。 其次就是通过各种输入去试探...
  • 项目都不知道是干什么的,千万不要一开始就选择看代码看技术,项目的技术往往是结合业务相关联的 1.公司入职java,前3天或前一周,正常来说是不会接手开始做项目。达环境配启动项目,不要浪费太多时间,最多半天...
  • 经验分享:如何快速上手公司的项目代码

    千次阅读 多人点赞 2020-12-25 21:43:03
    新人如何快速熟悉新项目和业务
  • 在实际的工作当中,所谓的代码人,大部分时间都是在阅读别人的代码,一份... 使用工具建立工程代码(如Source Insight )看代码的时候,自行写注释,辅助记忆 将一些重要函数、数据结构、变量、类等代码,复制粘贴到.
  • 如何快速别人的项目

    千次阅读 多人点赞 2016-03-28 21:28:06
    作为入行未深的初级程序员,因为工作需要接手了别人的项目做优化,才发现已入苦海,因为可能原作者比较清楚程序的架构以及每行代码的含义所以很多地方没有进行注释。程序中一些变量以及定义都是使用的缩写,所以弄...
  • 智能小车相对于其他电子制作而言是一个比较大的工程,涉及到的传感器、单片机模块也特别多,那么拿到一套智能车程序之后如何快速看懂呢? 1、先看懂框架,再去看细节 刚开始看小车程序,有可能面对的是完全不熟悉...
  • 如何看懂代码--(分析源代码方法)

    万次阅读 多人点赞 2018-01-12 16:40:26
    我们在写程式时,有不少时间都是在别人的代码。  例如小组的代码小组整合的守则,若一开始没规划怎么,  就会“噜噜苦(台语) ”  不管是参考也好,从开源抓下来研究也好,为了了解箇中含意,在有限...
  • 如何快速一个后端系统代码

    千次阅读 2019-12-16 16:54:36
    如何快速看懂一个后端系统代码 当一个java开发新手拿到一个系统代码并且没有人给你讲基本的需求与功能时,如何快速读懂代码了解功能是提高工作效率的必备技能。我作为一个参加工作一年的Java小菜是如何做的嗯,今天...
  • 如何快速看懂一个大型程序

    千次阅读 多人点赞 2018-12-18 15:40:30
    不要消极的去阅读别人的代码,而是带着挖掘宝藏的精神去寻找别人的代码中精华的部分,找出其中好的架构为我所用。   大体思路: (1)忽略细节,先前不要关注分支(支线)。不重要的功能,一扫而过。 (2)先...
  • 如何快速大型C++程序代码

    万次阅读 2014-08-01 15:36:27
    如何快速大型C++程序代码  (2012-06-14 11:25:03) 标签:  c编程 分类: C 学习 六个章节: ( 1 )读程序码,使心法皆为我所用。 ( 2 )摸清架构,便可轻松掌握全貌。...
  • 本文章仅仅是自己对说明文档的总结,用比较容易的说法表示出来 让正在学习前后端分离的朋友们完之后举一反三可以更快上手后端接口的编写 毕竟vue后面跟着个.js,如果有JavaScript基础理论上可以直接开始了 ...
  • 想要看懂代码,建议是首先学习C语言等基础语言有一个基本了解,想要看懂代码及学好编程应该选定方向、优化学习方式、多看官方文档,外文资料、动手做项目。初学者看懂代码的方法选定方向:编程的世界是多元纷繁的,...
  • 本文所述的思想大都是网上各大家总结出来,仅供参考,我觉得这因人而异,如果作为一手来说,不妨借鉴以下方法: ...可能有的人觉得这是废话,不过有的是人这个项目能做啥都不知道就开始看代码….此处可以留下一些疑问
  • 看完这篇,别人的开源项目结构应该能看懂

    万次阅读 多人点赞 2020-03-23 09:42:02
    很多小伙伴表示网上下载下来的开源项目看项目结构和代码分层得很蒙,不知道应该以一个什么样的思路去学习和吸收别人的项目。 好,今天熬夜肝了这篇文章,和大家一起来交流探讨一下,不足之处也请小伙伴们...
  • SourceInsight快速看代码的小技巧

    千次阅读 2019-04-26 15:38:48
    嵌入式开发过程,简单易用的代码查看编辑器应该要数SourceInsight使用率最高了吧,这次主要是说说在阅读代码过程中,使用SourceInsight的几个功能,让阅读代码更快捷。(最基础的怎么建项目等等就不说了,省略) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 79,932
精华内容 31,972
关键字:

如何快速看懂项目代码