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

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

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

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

步骤如下:

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

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

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

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

步骤二:了解应用程序

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

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

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

步骤四:做假设

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

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

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

步骤六:分析代码

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

1、目录以及文件架构

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

2、功能文件的映射

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

3、单元测试

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

4、注释

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

5、可视化工具

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

6、设置断点

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

结论

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

 文章来源:larsavery.com

盘点2014:最受关注的十大云服务创业公司 基于Kubernetes构建Docker集群管理详解 漫画:编程语言学习曲线 彩云天气: 328万元大奖背后的故事 iOS开发的22个奇谲巧技 谁是最受欢迎IT企业?技术、薪酬、发展空间、创新能力大评比 Jolt Awards 2015最佳编程工具奖榜单揭晓,Cloud9 IDE众望所归! 展望2015:数据中心行业的十大预测 亚信CTO金亚东:传统企业向产业互联网转型的两条路径 微信评论功能开启将成净土还是地狱 如何定位Android NDK开发中遇到的错误 流行从这里开始,MDCC 2014十大人气产品榜单揭晓! 专访POWER 8编程挑战赛选手唐刚:大数据计算永远是主角 微信公众号认证命名松绑,您怎么看? LambdaNet:纯Haskell实现的人工神经网络库 专注模式识别,易道博识为海量信息输入提供便捷之门 【问底】Michael G. Noll:整合Kafka到Spark Streaming——代码示例和挑战 2014年手游和社交游戏行业重要趋势解读 腾讯副总裁罗道锋:共建全国最大安全云库 5分钟内数据精准共享 Connected Cycle 一举两得的智能自行车踏板 CES可穿戴产品前瞻:汽车厂商入局智能手表领域 果断Mark!国外程序员收集整理的PHP资源大全 Google 2015项目前瞻:智能隐形眼镜、Google X、Ara Swift的坑:如何实现enum的多选? Swift,其实没那么任性 如何利用单台服务器实现10万多个Git仓库托管 Swift的初始化方法 TIOBE 2015年1月编程语言排行榜:JavaScript成大赢家 为什么iOS开发不需要Storyboard? 仅有纽扣大小的开发板 Intel Curie “撒娇”的豌豆荚?被百度手机助手屏蔽太糟心! sun的ultra5启动时显示没有键盘设备,可能是键盘坏了,哪里能找到这种8芯的鬼键盘? softice调试时出现的有意思的问题 怎样终止一个函数? 关于j2ee的几个问题 谁有数值计算方法与c语言工程函数库的代码,急!!! 麻烦有项目开发经验的大虾进来看看,给项目估个价!谢谢! 急!!大问题!!求助!!发扬你们的美德吧! JAVA的配置问题 菊花在水里跳舞!!! 用什么来写啊!!!jdk还是jbuilder TP-LINK的RTL8029(AS)芯片的网卡怎么装? w32dasm怎么把程序中的中文字符串反汇编成指令了呢? 曾用B/S四层结构开发过OA的,请进!! sql语句的问题? 关于QUERY->SQL的赋值 c++学习中的问题,拿来和大家一起讨论。 求助!要写一个MP3的播放程序~~ Project Settings里面的设置怎么设为默认值,让以后新建的每个工程都适用? 怎样读取数码相机的照片,并将它存入sqlserver数据库中(100分) VB6菜单设计器设计的菜单跟到WINDOWSXP下面,会自动变成XP类型的菜单吗? 请问openpicturedialog的用法? 紧急求教:ScktSrvr(Borland Socket Server)设置问题????????? 关于com与asp的疑惑 怎样读取数码相机的照片,并将它存入sqlserver数据库中 JSP里连接DB2的疑问? 为什么dbgrid的网格颜色属性的更改不是每次都可以。 请教名位大虾!~怎么安装.NET?今天刚买的,却不会装,七张光盘的!~ rose 的问题, SELECT 语句中的WITH TIES作用是什么? 西南交大 农历这么转换成公历?UP有分!急用!问题解决马上给分!不够再加。 关于数组的问题!在线等,谢谢了 不从新发送信息,则无法刷新页面!!! 一个旧声卡怎么才能知道它的型号? 我使出浑身解数,还是装不上sql server2000 ,怎么办? 各位师兄,想问一本书(王国荣的)的书具体内容?! 请问该如何处理?? 请教:关于excel2000链接对象.谢谢() CBC6使用手记--鸡肋 在线等待 如何从一个数据表的某字节中只提出来N个字符!!!!(帮我看一下,谢谢) dbgrid 与 adoquery 的记录如何...? 难道没有人懂水晶报表!??? 季老大帮我搞定!!!!!!!!! 请问该如何处理??在线等 谢谢了!!! 谢谢提供需求分析、概要设计、详细设计、等步骤的样本!!! 用HWiNFO32 V1.22检测机器硬件信息,当检测到“IDE/SCSI Drive(s)”时,硬盘灯常亮并死机,请问是什么原因?是硬件的问题吗? HELP ME AGAIN! 我新买的机器,看看是不是被骗了 谢谢提供需求分析、概要设计、详细设计、等步骤的样本!!! Whose bag is heavier,you or mine?哪错了? Little Tom is the _______ boy in his class.(weak)望好心人能顺便说明解题原因, ‘Hurry up.I ______________ (make) you some tea and toast.’ ‘OK.I ______________ (come),’I shouted.I ______________ (leave) my house but I forget to take an umbrella.When I ______________ (arrive) at school,I was all wet.What a horrible day! whose watermelon heavier,yours or his什么错了 急 发言稿作文400字不要竞选班干部的,竞选升旗手,护旗手的, 毛毛虫上有毒么毛毛虫爬到身上该怎么办 修一条路,已经修好了4/5千米,没有修的比已修的少1/10千米,这条路全长多少千米? 琥珀的分类琥珀的形成,优劣的区分 别人说推了我的作文是什么意思?急Q_Q “母亲节的谚语”用英语怎么说 急 the police asked the little boy ____求详细讲解 讲解选项A where did he live B where does he live C where he lived D where he lives 于like better than 可相互转换的词组 K-THREE是什么牌子就是西单华威那个 Is the earth round?The little boy asked.(改为宾语从句)The little boy asked ______ the earth ______ round.请问the earth 后用 is 还是 was? like better than 那like可以换成prefer吗 一条路,已修的比全长的65%少1.44千米,这是没修的占全长的75%,这条路全长是多少千米. 发言稿的作文题材用什么好不要说竟选 这是什么毛毛虫.有毒吗 帮帮我猜猜谜语,什么锁没有孔?什么书没有字?什么情说不出?什么灯帮帮我猜猜谜语,什么锁没有孔?什么书没有字?什么情说不出?答案会连成一句浪漫的话. Indian rose这个品牌有人了解么?听说和Miss sixty是同家公司和设计师Hello~恩我买了条很喜欢的牛仔裤叫Indian rose,花了我差不多100欧元.这个价位不算很便宜但是很奇怪没有听过这牌子,回国内上网 帮忙想一下这篇文章的题目,作为演讲稿的主题~在人生这所学校中,挫折是一门必修课. 这门课增加了我们的勇气;增强了我们的意志;坚定了我们的信念,使我们更坚强、更勇敢、更乐观…… 我是艺术生 马上要艺考了 想根据我是的名字写自我介绍怎么写 _____(who) school bag is heavier 描写动物叫声的词 例如 狮吼 鸟鸣 越多越好! 去婚姻介绍的地方,我是男生,填表格,怎么介绍自己?怎么写自己想要什么样的对象?我第一次,脑子挺空的. 一道物理,速度!简洁点就行(公式+过程+答案)如下图所示,R1=20欧,R2=40欧,电源电压保持不变.(1)当开关S1、S2都闭合时,电流表A1的示数是0.6安,小灯泡L恰好正常发光,求电源电压和小灯泡的 琥珀有哪几种,是怎么定价的? 文中对老王用到了哪些描写方法?试举例说明 将注射器的出气口封住,使注射器内的气体不能跑出,现将活塞向里压,则这时被封气体的质量______,体积_______,气体的密度______(均选填“变大”“变小”或“不变”).简单说下理由吧. 厕所下水道里有老鼠怎么办我家厕所下水道有老鼠出没,吓死人了啊~下水道又不能用水泥堵,请问大家我该怎么办啊.是地漏~厕所里漏水的那个东东 They‘re ( playing basketball).画线部分提问 my mum likes to buy things in the shopping mall because she can buy____ she needs there.A something B nothing C anything D some thing 老鼠是不是害虫我有一题,说是举3个害虫的例子,我写了老鼠,组长给我打错,有同学说对,我一同学说,害虫一定要是虫子, they' re (playing basketball).对括号部分提问 a perfect indian的歌词?中文的 She often ____stories in her classes.A talk B tells C SAYS D speaks选啥,为什么还有为什么不选其他的 They’re playing basketball We love that basketball A Perfect Indian的歌词中文有人能告诉我吗?是那个 《穿过骨头抚摸你》的歌词~记得中文名字就是那个 8知道中文的歌词是什么意思`~ 1.often late she watches watchesTV until very 2.often her he tells stories interesting every连词成句 they are playing basketball for money对for money 提问 Mike needs to take lots of things for camping.(改为同义句)Mike()()lots of things for camping? 毛毛虫有毒吗?有没有依据? 张涵予声音有什么特点,怎么才能练成他那种浑厚磁性的声音 A perfect Indian,这首歌是谁唱的?不确定歌的名字是否正确,第一句是A Perfect Indian is he…… 作文爱是调味瓶,酸甜苦辣咸 Indian restaurant怎么读Canary Wharf怎么读recommends怎么读 代写文章代写演讲稿.我有一篇演讲稿要写,谁能告诉我那家好 英语翻译 The coat looks ____old A.a bit of.B.a kind of.C.kind of.D.a little of 代写演讲稿怎么收费的?有人听说正三文案策划没有,我朋友叫去找他写,说质量还可以。但是我在网上没有搜索到,有人知道吗? 琥珀要多少年才能形成 高手翻译a prefect indian歌词大意 如图2,E是正方形ABCD中边AB的中点,F在AD边上,且DF=3AF,求证:CE平分∠BCF.昂 我要做作业~ 背上有柔毛或者是刺的毛毛虫都有毒吗?全身黑色有刺的毛虫学名是什么?夏天很常见的那种 英文人名翻译INDIAN的麻烦高手帮忙,TAGE PUNYA 和 KHYLLAIT VERONICA要翻译成中文,怎么翻啊? A red Indian's house is called this (6个字母组成的单词,以w开头 要求得到用英语怎么说 He looks a little scared.(对 a little scared提问)用how还是用what? 改错:My favourite fruit are lemons and mangoes. 英语中 动词后面+the+形容词+名词 也门男子因15岁女儿与未婚夫通电话将嘉兴南湖:消企携手共筑安全“防火墙”杭州消防马路中间铺气垫解救跳“桥”男洗洁精添加剂泄漏扰民 嘉兴经开消防成化工厂生产车间起火 杭州富阳消防成功消控室无人值班 浙江海盐假日酒店被罚数万人白宫网站请愿 要求禁播“杀光中浙江开通党员教育云平台助推群众路线教浙江打造中小学校“透明食堂” 信息需浙江临安警方破获特大武装贩毒案 缴获中国再发渤海北部禁航令 23天内有重解放军神秘基地藏大漠深处 配多型先进维也纳出新措治理粉尘污染美国长岛一小学生在校内玩胡椒喷雾致多美拒评是否曾监听默克尔手机 新自贸协新加坡一卡车为避前方车祸急刹车侧翻压美国疑监听默克尔电话 德国外长召见美日本6名女性涉嫌在网络上上传猥亵视频英媒:中国持续30年“英语热”降温德国每年屠宰5800万头猪 养猪业被中国游客剧增 美华纳兄弟影城配备中文让冰壶运动从“稀有”到“平常”中国铁路总公司工作会议在京召开铁路营业里程突破10万公里 高铁运营外交部:中国推动南苏丹停火止暴符合南安倍拜鬼后仍有近5成韩国民众支持韩日2013年德国人财产总额达5.2万亿欧元区去年11月份失业率维持高位分析决定胜负旅西华人养老津贴问题男婴深夜遭人遗弃街头 警方无法查找其安倍“拜鬼”招来美国失望 派亲弟弟赴外交部:如日本领导人执迷不悟 中方必美斥巨资研发超级电脑用于破解网络“硬梅西复制马拉多纳30年前神迹!重伤复麻城27万亩“望天丘”喜成农民增收“《书法报》喜过30年华诞:3到5年在竹溪国税“听候服务”打通开票“肠梗阻张艺谋夫妇超生被“罚”748.78万韩国敦促朝鲜为促成离散家属团聚展现诚重庆:苦练“内功” 备战春运日元贬值促去年赴日游客数量创新高
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘