说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

让你轻松学习新代码库的六个步骤

HTML文档下载 WORD文档下载 PDF文档下载
学习新的代码库是一项艰巨的任务。如果依靠自己研究该库是一个很复杂的过程。如何学习新代码库,本文通过六个步骤为读者详解学习中的困惑。

学习新的代码库是一项艰巨的任务。如果你不能和创建该库的研发人员进行交流,自己研究该库是一个很复杂的过程。本文给出六个步骤指引开发者学习。

步骤如下:

步骤一:创建业务词汇表单

如果你是一位开发者,你或许会出席过一些软件设计会议,会议可能会涉及到创建新术语,以便于更好的软件设计交流。在创建该术语的同时可能会发生与该术语同义的情况,会议成员不可避免地讨论这些具有相同概念的术语,这会让人感到混乱。

这时,业务词汇表单就变得尤为重要,它能记录这些新的术语。在软件设计的每个阶段,你会不断碰到新的术语和概念。把这些术语保存起来非常重要,并且边学边存储,绝对有益无害。

业务词汇表单应该包含几个不同的列,分别是:“术语名称”、“语境”、“定义”。当你看到一个有趣的术语和短语时,可以更新该表单。该表单有可能包含大量的同义词,也有可能有对同一术语的不同定义解释。出现上述的情况,你需要结合上下文的语境进行分析使用。

步骤二:了解应用程序

运行应用程序并且获知该程序提供的功能。如果你不知道该程序是做什么的,就无法在源代码中寻找有关信息。

步骤三:浏览有效的类库文档

迄今为止,是不是任何的体系结构或设计类库文档的内容都是合理呢?这有待考量。类库文档是一个极好的资源。如果旧的体系架构已经历了数次修订,它就不再值得你花时间去阅读整个文档,不过,你可以大概浏览一下。如果你足够幸运,你可以在文档中遇到你所需的术语。

步骤四:做假设

几乎所有的应用程序中,开发者都会碰到如下情况:环境的配置、I18N(语言的国际化)、应用程序的文件格式、用户界面、应用程序的启动和关闭。针对这些情况,可以进行假设。开发者可以假设应用程序中的任何一段代码块,哪个代码块是应用程序的核心,这个才是学习的重点。

步骤 五:定位第三方库文件

代码库很有可能存在一些的依赖。如果检查到项目中包含第三方库文件,可以查看该库文件是如何与应用程序的功能联系起来的,某处的模块或组件是如何使用第三方库的。

步骤六:分析代码

本部分列举几个选项来分析新的代码库:

1、目录以及文件架构

可以把目录名中的一些术语添加到业务词汇表单中。文件架构可以提供一些基本的线索,如:前台代码及后台代码。它们可以分别放在独立的文件中。开发者会发现,凡具有特定功能的模块代码都被放在独立的文件夹中。按照这个线索,就知道如何进行查找了。

2、功能文件的映射

在用户界面上写一些可执行的功能代码块。把重要的代码块放到一个单独的文件夹中,并对文件夹进行命名。这个文件夹有可能对团队中的其他人有用,他们可以把该功能应用到项目编程中。

3、单元测试

如果采用单元测试,开发者可能会用到第三方框架。你可以用第三方框架来辅助测试。即使没有找到合适的框架,仍然可以来做单元测试。当然,你也可以不采用单元测试,但我依然推荐你用,因为有助于你对源代码中组件的理解。

4、注释

源代码中可能包含一些注释,有的注释对开发人员很有帮助,有的会让人有所误导或有的注释可能过期了。如果你觉得注释有问题,你可以通过调试器追踪有关代码,了解相关代码的意思。如果你发现错误的注释,修改或删除它们。

5、可视化工具

在新的代码库中使用语言代码分析工具。如:ObjectAid是一个极好的Java代码分析工具。这是 Eclipse IDE中的一个插件。你可以创建对象来协助类图,把java文件拉到类图中,就自动画出类图。

6、设置断点

使用调试器,设置一些断点并运行查看。这是第一次学习新的代码基础。

结论

上述的分析过程采用自上而下的方法,能够更好的帮助开发者学习新的代码库。

 文章来源:larsavery.com

实现屏幕变暗的效果 -VB资料 实现图像切换效果 -VB资料 提取Win9x拷贝的动画-VB资料 一个图像滤光处理程序-VB资料 一个用VB5.0 实现的鼠标绘图程序 用VB6.0制作画图板 用VB6设计有趣的动画场景 用VB编程绘制网格图像 用VB绘制抛物线动画曲线 用VB绘制正弦动画曲线 用VB实现“百叶窗”的图形特效 用VB实现托盘动画图标 用Visual Basic 定制BMP文件 用Visual Basic的Move方法实现动画效果 用Visual Basic与MS-Draw开发通用作图软件 在VB中获取可执行文件及Windows 95快捷方式的图标 在VB中进行各种图形切换的方法 在VB中制作可滚动的图像显示 在图片上平滑移动文字 -VB资料 VB怎样使程序的标题条闪烁? VB制作图像的Mask图 CWinInetConnection-一个封装了WinInet API函数的类 -VB资料 MODEM通讯意外处理-VB资料 MsComm 文字传输-VB资料 PING一个IP地址(向它发送一个数据包并等待回应) -VB资料 SMTP协议简介 (Simple Mail Transfer Protocol) -VB资料 VB5.0 中远程数据库的访问 VB下如何编写CRC校验程序 Visual Basic 6中发送邮件的新方法 Visual Basic通信程序设计 Whois 示例程序-VB资料 怎样实现左连接(left outer join),右连接 这个网站制作费能值多少?? 怎样处理异质链表? 报表打开的时候缺省为最大化状态,怎么样为设计时候状态? 除了梅尔森式外,还有哪个比较好用的质数生成式?(要100位左右的) 如何在英文版的WINDOWS2k上输入中文? 为了提高大家专家分的质量,希望大家不要再散分了! 我在sun的网站上下了jdk1.4,请问怎么把JBuilder6的jdk升级到jdk1.4? 大家给推荐windows程序,sdk编程的入门好书(不是MFC的)言者有分 我在http://soft.jx163.com/上下载了JBuilder7但不知道怎样得到注册码 有没有其它免费空间(要支持ASP的) 为什么每次打开水晶报表都要求输入oricle数据库的密码和用户名,这些可以在程序里面完成吗?可以再crystalreportviewer空间里面实现翻页 请解释一下ASSERT()函数的作用 informix问题,紧急求救 求救!高手请进来 求助:build winsock 程序时出现 link 错误。 怎样能够将source safe link 像VC哪样集成到自己的应用程序? 关于用ASP+JMAIL开发一个像网易那种类似功能邮件系统的可行性!!!!大家来讨论一下!!! SQL Server7.0的ODBC驱动哪里有(不想安装客户端) 怎样将form中的值加入到数据库中 这个程序是在哪里和在什么时候执行的???? 急啊,我第一次用SQL SERVER,需要把ID号的属性定义为可自动编号,可是找不到相应的字符,可不可一帮帮我? 怎样使DLG的CLOSE(X)按钮变灰? ???? 关于managementserver的问题 b/s中的中文问题 关于udp发送的一些疑惑,请指点,up,gz也给分?(udp) pb的连编问题 对不起大家,内疚ing... 我的专家分怎么忽高忽低?谁给我解释解释! 各位老大,这种报表如何做啊?很急的啊!!!!!!!! 看看这样的东东有没有? win2000 server 启动巨慢,没有病毒,怎么办,症状如下: 用户权限的问题 怎样才是高效的多重循环? 紧急查找pcl-735,db-37的开发接口资料,100分!! 在VC中为什么使用MFC,好处有哪些? 放大問題!20分 高分求教,在线等待!!具体问题请进..... 为什么java出这样的问题 初学者多层分布式的问题 请问谁有从数据库填充DropDownList控件的例子, 这个DropDownList是要在DataList的EditItemTemplate中的,谢谢! 请问谁有从数据库填充DropDownList控件的例子, 这个DropDownList是要在DataList的EditItemTemplate中的,谢谢! BC++安装只用15张DISK,后面3张为什么不用? 一个小问题 weblogic+ejb高手请出来赐教 000000000000020.0000000000000000分提问:以前的加密文件现在如何查看? 怎样销毁CFormView 对象? (在线等待) PB如何调用带参数,及返回值的SQLserver存储过程? #####如何捕获在窗体外,鼠标右键或左键CLICK时的鼠标的坐标点##### dll的问题 如图所示,在△ABC中,AB=AC,点MN分别在BC所在的直线上,且AM=AN,BM与CN相等吗?图是一个等腰三角形 顶点为A,点MBCN依次跟A相连 解释一下多普勒效应在宇宙中的应用. 有一宇宙飞船,它的正面面积S=0.98m^2该飞船以v=2000m/s的速度飞入一宇宙微粒尘区,此尘区每立方米空间有一个微粒,每个微粒平均质量m=0.0002g,若要使飞船速度不变,飞机的牵引力应该增加多少牛? 点解电容是分正负极的,在电路里面怎么接呢?正负极接法有什么特殊规定吗? 多普勒效应如何解释? 如图所示,在光滑平面上放有一个长木板M,它的长度为L.现有一个小木块m以一定的初速度v从木板的左端滑向右端,当木块m滑到木板M的右端时,m的速度变为v/3,M、m间的动摩擦因数为u,求(1)m在M 我要做的这个多普勒效应实验的其中一个部分是这个“研究匀速直线运动”,但貌似这一部分只用到了光电门,不是很明白它与多普勒效应的关系, 要带有非主流符号写刘字怎么写? 物质的定义是什么?为什么石墨和金刚石不是同一种物质?而水和冰却是?请不要拿精神上物质的定义给我,尤其是马克思的定义, 多普勒效应实验论文 已知,三角形ABC中,角BAC是直角,AD垂直BC于D,E是AB上的一点,AF垂直CE于F,AD交CE于G,求证角B=角CFD要用三角形相似的知识解答, 某件商品滞销,只好降价出售,如打八折,就要亏150元,如打九折可获利100元,这件商品进价多少元 在多普勒效应实验中,频率的调节是以什么为依据的,为什么? 在三角形ABC中,角BAC=90°,AD丄BC于D点,E是AB上一点,AF丄CE于点F,AD交CE于G点.求证:角B=角CFD 如图所示,长方形木块A质量为10kg,滑块B(可视为质点)质量为2kg.用细绳一端系于滑块B,水平拉紧后另一端固定于墙上.A、B间和A与地面间的动摩擦因数都是0.2.今在木块A上施加水平恒力F,使木块 气态烃对氢气相对密度是14,也就是说它的相对分子质量是氢气的14倍,为什么这样理解?相对密度与相对分子质量有什么关系吗? 什么叫多普勒效应?在生活中有什么应用? 如图所示,用细线悬挂的小球从A 开始摆动,经过最低点B时摆线被直尺P挡住,球继续摆动至C点.若不计空气阻力,下列说法正确的是 A.A到B过程小球的机械能增加 B.B到C过程小球的机械能减 如图,在三角形ABC中,AE是中线,AD是角平分线,AF是高.(1)BE=( )=二分之一(如图,在三角形ABC中,AE是中线,AD是角平分线,AF是高.(1)BE=( )=二分之一( )(2)角BAD=( )=二分之一( )(3)角AFB=( )=90°(4)S(三角 高中物理如何计算多普勒效应中的接受频率? 爸爸在看书这句话怎样写得更优美? 等边三角形ABC中,D,E分别是BC,CA上的点,CD=AE AD,BE交于点F,BG垂直于DF,求证FG等于二分之一BF 高中物理力学 在线等!质量m的物体放在质量为M倾角a的斜面上,斜面置于粗糙水平面上,平行于斜面力F拉m使其沿斜面匀速运动,M静止,下列说法正确的A M相对地面有向右运动趋势 B地面对M摩 祝福祖国的2字或4字词语.像“崛起”、“腾飞”这类的词语. 已知,如图,△ABC中,D是BC的中点,F是CA延长线上一点,连接FD交AB于E,若AE=AF,求证:BE=CF求大神们自己画图 帮我把‘最后放弃’改成好看的非主流繁体字要符号的 有没有祝福的词语 带有会康二字?RT 急用 【举生活中的事例】1物体之间发生相对运动时的摩擦 2物体发生滚动时的摩擦那个 分别都要举两个事例 M是三角形ABC内一点,MD⊥BC,ME⊥AC,MF⊥AB,且BD=BF,CD=CE.求证:AE=AF 如何避免粉尘爆炸 欧尚有卖煤油打火机的煤油吗? 火柴燃烧是什么变化 如何防止粉尘爆炸 怎么样用简单的工具绘制标准的五角星?比如直尺、绳子(不能用圆规),反正是一般的木匠师傅有的工具.你们的回答怎么说呢,我要是可以画圆,或者说可以画正五边行就不用去画五角星了 多普勒效应的应用市场上有什么产品是用到多普勒效应 科学简答题: 物质这一课 火柴燃烧发生的变化与木条折断发生的变化有哪些相同点和不同点. 怎样画标准五角星 A、B是两根竖直立在地上的木桩,轻绳系在两木桩上不等高的P、Q两点,C为光滑的质量不计的滑轮,下面悬挂着重物G.现保持结点P的位置不变,当Q点的位置变化时,轻绳的张力大小变化情况是(A 火柴燃烧变黑生成什么物质 某有机化合物对氢气的相对密度为30 多普勒效应在工程中有哪些应用?我在物理活动中的一个课题,希望每点能详细一些,不要解释什么叫多普勒效应,我要的是它在工程中的应用, 火柴燃烧发生的变化与木条折断发生的变化有什么相同点和不同点 已知:如图△ABC中,BM,CN是∠ABC,∠ACB的平分线,且AM⊥BM于M,AN⊥CN于N,说明:MN∥BC 关于多普勒效应人距公路约50米,一辆汽车以25m/s的速度从公路上匀速驶过,人听到的汽车的频率如何变化?若某一单一频率的声源在观察者上方匀速运动,听到的声音的频率如何变化? 如图,已知E为平行四边形ABCD中DC变的延长线上一点,CE=DC,连接AE交BC、BD于F、G,连接AC交BD于O,连接OF求证:AB=2 OF 电解电容电路图里的正负极图示是什么样的? 四川省南充市cng气瓶贴电子标签在哪里办理?流程和手续是怎么样的?我是买的新车原装出厂的双燃料汽车,要想去加气怎么办理加气相关手续? E为平行四边形ABCD中的DC边的延长线上一点,且CE=DC,连接AE,分别交BC,BD于F,G.连接AC交BD于O,连接OF.求证:OF=¼DE 如图⊿ABC中BM.CN平分∠ABC,∠ACB的外角,AM⊥BM于N,AN⊥CN于M,求证MN=½(AB+AC+BC) 非主流的经典语句要长的,还要深奥的.关于爱情方面的,如忧伤,开心等等... 在三角形ABC中,AB=AC,延长BC到D,使CD=BC,CE垂直BD交AD于E,连接AC于F,求证AF=FC 如何分辨电路图中27管脚电容的正负极 我是乐山一气体充装站的,我们公司要安装气瓶电子标签,我想问一下在周边地区有哪些做这个的公司,最好附上联系电话,小女子万分感谢! 如图 两个质量都为m的物块用轻绳和定滑轮相连在斜面上,左边是A右边是B物块B距离地面高度为h,所有接触面均光滑,松手使系统运动,问当B刚接触地面时的速度?(斜面和地面是光滑的哦~)对不 如图,△ABC中,∠ACB=90°,AC=BC,直线MN过C点,AN⊥MN于N,BM⊥MN于M,那么MN与AN有什么关系,为什么?过程 车改气气瓶电子标签被人偷了,怎么办 高中物理力学经常考的难题我要详细点地 请标出下列电路图中两个电容的正负极.C1 和 C2的电容正负极 说出哪段正负极即可 等边三角形ABC,点D,E分别在BC,AC上,且BD=CE,AD与BE相交于点F.证明:AE的平方=BE·EF 一个木块放在一个木板上.理由摩擦力.拉木板.木板和物体之间有相对运动.就是他们的速度是不相同的.求木块在木板上运动所需的时间为什么木板的长度就该等于跑的快的减去跑的慢的那个?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘