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

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

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

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

步骤如下:

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

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

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

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

步骤二:了解应用程序

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

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

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

步骤四:做假设

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

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

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

步骤六:分析代码

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

1、目录以及文件架构

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

2、功能文件的映射

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

3、单元测试

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

4、注释

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

5、可视化工具

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

6、设置断点

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

结论

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

 文章来源:larsavery.com

《近匠》腾讯信鸽:基于大数据的推送 超低功耗'Whisper'架构发布:IoT、可穿戴连接性IP新标准! R的数据分析制霸以及企业级应用盘点 第二届游戏运营技术论坛来袭!与大牛共论云时代的游戏运营之道 云雀科技:飞行器+地图,展望飞行器的新体验 Sandstorm,前Googler和极客名人建立通用开源工具保姆 触控科技CEO陈昊芝:引擎技术推动行业升级 谁能成为Hero,这一次你说了算!——TCL智能电视开发大赛创意阶段评审征集 微信官方在“公开课”上13个热点问题的解答摘要 MDCC 2014移动开发者大会10月开幕:你就是主角! 设计师该如何挣得一席之地? 回到未来:最热门的十大清洁能源技术公司 深度学习:未来机器人的进化途径 搜狗开源内部项目管理系统Cynthia,已被数十家企业采用 沃游戏新版本全新登场 好友PK根本停不下来 腾讯发布首款智能硬件,内部筹建孵化器鼓励创新 触控开发者平台:孕育“十亿开发者俱乐部” 《近匠》大新伙伴:大姨吗防晒小助手,帮你呵护女神 专访阿里云总裁王文斌:做出“用得爽”的工程产品 专访AMD全球副总裁潘晓明:2014全线发力,力争中国市场 搜狗开源内部项目管理平台Cynthia意欲何为? 深度解析浪潮新八路服务器TS860 支持Box2D,开源HTML5 2D游戏引擎FLAG 一周消息树:从程序员到架构师的方法与逻辑 【CTO俱乐部走进海尔】海尔的转型探索之路 十一问MongoDB CTO,谈NoSQL人气王的扩展、事务及运维 腾讯“创业•密码”开发者论坛 ChinaJoy引爆创业者关注 从F1赛车到智能手机,无线充电技术之崛起 助力梦想!MDCC免费为优秀App开发团队提供展位 为Symfony2和Redis正名,基于PHP的10亿请求/周网站打造 【聚焦API】教你如何选择最适合的NLP API服务商? 关于升级机器的问题 如何在Image中放大缩小一个WMF文件?还有如何去拖动这个放大缩小的WMF图片呢? 高手请指教 请教:如何由ip获得访问者所在地区 哪位兄弟教教我,如果实现自适应静音检测? 一个B-S结构的售楼软件的报价大致应该是多少? 我的确是做了错事,我决心去努力,但似乎力不从心? 100分 求《UML与Rational Rose从入门到精通》 急!各位高手关于要把多个DC放到一个pDC上显示的问题。 急。关于ppc和sybase的问题 请问编一个WINDOWS画笔 谁有c434009A主板的驱动程序。 请问在windows下如何实现像数据库一样的读、写锁? 为啥我在InstallShield中调用DLL中的函数总是出错呢? 如何能在HTML控件显示区域显示“....(指定的文件名)不存在”? 请问如何把TIF格式转换成JPG或GIF的格式?? 代理不能定时执行,请指教,谢谢。 怎样与外部数据库建立联合查询? 如何接受来自vbscript的字符数据列表 怎么在Gtk+的gnomemessagebox显示中文? (在线等待,急!)在vc中怎么使用datagrid控件 我使用的是odbc访问数据库 好急的问题,有关于SMS的接收字符处理问题,想了好几天没有结果 那位兄弟手头上有ASP.NET高级编程的电子书? DataGrid 控件问题,帮帮我把,朋友! automount? 一个比较难的问题! 关于datagrid的问题 在线等待 在cmd编辑器中用java运行已编译的文件运行不成功怎样解决 各位帮我解决一下这个问题!!!谢谢 关于ResourceManager的疑惑? 两台机器无法访问? 大家有没有听说过zebudom.js这个javascript的API?请问哪里可以下载它? 模块的连接 如何用php开发一个在线语音聊天室? 请问:有谁能提供Microsoft Project 2002简体中文专业版下载地址????急用!!!!!! 《The C++ Programming Language》有没有中译版? 请高手帮我看看: session的范围 硬件加、解密卡合作 请问那里能下到C或者C++的编译环境? 我的网页做好了,在我自己的机子上显示的很好看,在别的机子上有的显示的和在我的机子上显示的一样,很不错,但在有些机子上显示就变形了 怎样在文件中查找指定的字串? 为什么这两个查询都不能运行呢? 请教有关比对数据库的思路 运行结果出错!!!!!!!!!! google主页的问题(在线) (在线等待,急!)对话框中画图,超过了对话框大小,但是滚动条不能用 jbuilder7+jboss的配置问题? 求教:用UML做分析设计工具、用JAVA开发的一个办公管理系统的详细时间节点计划书。 數據庫數據顯示問題///急,在線等!!!!!個位幫幫忙? 作文,走进诗歌王国 形容失望的神态. 物理的实验报告 参观了科技博物馆,知道了许多有关恐龙的知识.(修改病句) 日语 不一定把;未必吧.怎么说,要口语和书面语. 小孔成像是孔越大越好吗?拜托各位大神 贱的书面语怎么讲?人的本性就是这样,可是不能老用贱来形容,可又不知道书面语怎么讲,有哪位资深一点的帮我解释解释?谢谢了我想重申一下 不是大街上骂街的那种“贱”,我指得是那种, 急需于丹庄子心得完整视频, 河南博物院的简介以一个导游身份讲解. “嫂子”的书面语怎么讲,填申请表用, 急求于丹庄子心得读后感两篇800字就可以了 外电极是什么意思呢? 理解的前提是什么(政治题,要书面语,不要自己说) 你们觉得于丹庄子心得怎么样啊于丹庄子心得在黄岩新华书店能否买到啊?我很喜欢于丹在百家讲坛里讲的那些道理哎.我真想每天看到听到于丹的《庄子》心得.如果有人知道那我非常感谢的. 国内和国外的臭氧发生器电极片(管式和板式)哪家最好?各家的优势是什么?国内用哪家的电极片比较多?我++++++++++分!) 若点N(a,b)满足方程关系式a*2;+b*2;-4a-14a+45=0,(1)求u=b-3/a+2的最大值(2)求t=a*2;+b*2;的取值范围 关于于丹庄子心得的一道问题.第一篇是“庄子何其人”,有人批评说,何其是多么的意思,成了“庄子多么人”,而不是“庄子是怎样的人”.这有道理吗? 青苹果表皮的锈斑是什么?现在买的青苹果,表皮有很多褐色的锈斑,是什么东西?跟虫粉什么的有关系吗? 予处理,这种写法在书面语里规范吗? 帮我写一下《于丹庄子心得》有感,字数在1000--1500 英语“赶上时代的步伐”最地道怎么说,书面语 我平时很少看电视 用英语怎么说突出“平时” 班级辩论赛:中学生应该带手机的理由(我是正方)急 翻译:我们今天刚上班(书面语) 钢笔出水新买的钢笔,灌满了蓝黑的钢笔水,使着使着就不出水了,但是里面还有很多的钢笔水, 班级要开关于“高中生是不是应该张扬个性”主题辩论赛~我都愁死了,我是正方,就是我方观点是应我要❤名言❤和❤事例❤速度啊 本周五最后期限.不要复制粘贴的.要亲们自 英语翻译(他)能在短时间内掌握了工作要点和技巧,能够熟练使用TRS.有道翻译结果为In a short time grasp the working points and skills,Can skilled use TRS 关于钢笔出水Hero 565,其实正常写起来挺流畅,出水量也正好,但是有以下三个问题让我很头痛:1)出水流畅时写一小段时间,出水量突然增多,伴随一整滴墨从笔尖流出,在纸上流下一块让我很郁 Carl is stbdying ___food science at college and hopes to open 有什么果实上有翅膀啊?什么果实上会长有翅膀? 很少英语怎么说 1、《秋水》的主旨是什么?在客观上有何思想意义?2、本篇中的景... 移动标点符号,改变句意:哥哥说:我是好青年. 为什么钢笔能自动出水? 于丹 庄子心得 读后感 河南博物院怎么样 我的钢笔为什么只有一边出水这个就是我钢笔的笔头左边出水,右边不出,有时候写的水断了,要重新上次水才能写 于丹《论语心得》读后感1000字太急了! 他( )节省下自己的零花钱,( )靠帮邻居干活来凑足这笔钱》填什么关联词 这场比赛五(1)班打败了五(2)班获得了冠军加上不同的标点符号,表达两种意思 拼搏辩论关于人生要拼搏的论据,辩论赛用,最好是反面的,(即人生不一定要每时每刻都拼搏,要适时行乐,或根本不要拼搏)~多多益善! 关于可以体现自己科学精神的作文,不少于500字 怎么表达心情烦躁 钢铁是怎样炼成的读后感第二段怎么写 现在问道怎么升级快?现在问道怎么升级快? 我现在很郁闷用什么能形容我的心情 于丹《论语》心得和《庄子》心得哪本经典? 夏衍为什么要赞颂小草的力量?这是课文上的一道题,马上要讲了,希望学过的,在下感激不尽! 表姐和我是什么关系?用书面语? 用刀在苹果上划一刀是大破坏了苹果的什么组织 什么字站着和躺着变成不同的两个字?比如:“田、口、回”这些字站着和躺着念都是一样的,但哪两个字站着和躺着念是不同的呢? 求兽医什么的爱好动物的人士帮帮我!今天早上,小猫是爬着回来的,本身是只流浪猫,我家是它我i恶意能找到吃的地方,它的下半身像没有知觉一样,偶尔会动那么一下,嘴巴禁闭,有呼吸困难的症 苹果烂掉了,只要把烂掉的部分削掉再吃就可以了吗?讲出道理 这可是当时什么(填关于轰的词语)的新闻 关于论语:“三人行,必有我师焉.择其善者而从之,其不善者而改之”的故事 苹果表面是好好的,但里面已经发黑烂掉了,为什么?是不是因为防腐剂的添加,还是病虫害的原因?外表没什么异常,还是硬的. 这可是当时很什么(填关于轰的词语)的新闻 形容十分失望、沮丧的神情的词语 苹果会从里面烂掉吗?什么原因导致的什么人为原因导致的? 请问含义是“少”的汉字有哪些,包括古代 李开复病后首露面:趁容颜美好时让大家韩国议员结束对开城园区考察回国 未与商务部敦促欧盟执行WTO中欧紧固件反玻利维亚计划大力发展核能等替代能源中国前三季度国际收支经常项目顺差13巨丰投顾:多板块出现井喷 市场方向渐父母秘密策划 6岁白血病童收全球百万世界主要城市10月31日天气预报新快报记者陈永洲因涉嫌损害商业信誉罪浙江省拿出百万元奖励一线杰出职工获评服役三十年的运河桥明起拆除 见证杭州浙江从明年开始开展无违建县创建活动杭州一大妈在城市空地种2000余株罂浙江临海休闲产业进入“双时代”打造“宁波红光集团等6企业涉税严重违法35杭州西博车展第二季 豪车美女亮相博眼驻韩美军军事邮局成\"毒品仓库\' 中国-海湾合作委员会第三轮战略对话将商务部:欧盟对华钢铁紧固件反倾销措施习近平会见伊朗伊斯兰议会议长拉里贾尼朝鲜举行全国软件竞赛暨展览会 展出逾美国队挺进女足世界杯决赛加大住房信贷支持孙坚、苏醒回西安录制节目96128晨报便民服务台湾复航空难报告公布:坠河前8秒机师美国队挺进女足世界杯决赛沈阳最快乐的识字班 开课啦!重庆暴雨中大货车与槽罐车相撞 被困人强降雨致新疆伊犁昌吉等11地州26.青海大通发生山体滑坡 一载有3名学生大河网眼妹看天下:河南这家网站的这件汝州市总工会在全市开展“金秋爱心助学宝丰县群众加强玉米田间管理 为秋粮丰郑州房价降了 6月9124元/平方米平顶山市卫东区庆“七一” 走访慰问老郑州建3条有轨电车线路 将与地铁线路惊人!巴西国脚浩克训练射门竟一脚将球开封市祥符区:国家综合农业开发项目如传民进党2016“蔡赖配” 赖清德:婚恋专家帮你找对象与前男友进日租房 女研究生被扎16刀
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘