- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
问题 1.Clearcase是Rational公司(2003年被IBM收购)的一款重量级的软件配置管理(SCM Software Configuration Managemen)工具。不同于CVS和VSS,Clearcase涵盖的范围包括:版本控制、建立管理、工作空间管理和过程控制。从最初的软件配置计划,到配置项的确立,从变更控制到版本控制,它贯穿于整个软件生命周期。? ? ? ? ClearCase支持现有的绝大多数操作系统。ClearCase 安装、配置、使用相对较复杂,需要进行团队培训。2. CVS 是Concurrent Versions System 的缩写,它是开放源代码软件世界的一个伟大杰作,由于其简单易用、功能强大,跨平台,支持并发版本控制,而且免费,它在全球中小型软件企业中得到了广泛使用。其最大的遗憾就是缺少相应的技术支持,许多问题的解决需要自已寻找资料,甚至是读源代码。CVS是一个典型的Server/Client端软件,有UNIX版本的CVS 、Linux版本的CVS,和WINDOWS版本的CVS,在下载的软件包中已经包含了Server端和Client端,但是因为我们在工作中一般都是使用Windows操作系统,所以我们可以再下载一个Windows下CVS的Client端软件WinCVS。在以下网站可以获取最新版本的CVS。。CVS支持远程管理,项目组分布开发时用CVS。 3.VSS微软的产品。简单好用,局域网中用VSS。用于Team级还可以,企业级不好。仅支持Windows 操作系统。4. Subversion是一个被设计成为CVS继任者的新版本控制系统。 重构与版本控制如何协调 人月神话团队 解决方法 产生的问题 版本控制 重构 主要内容 1 2 3 4 何谓重构 Martin Fowler定义: 重构是一种对软件内部结构的改善,目的是在不改变软件的可见行为的情况下,使其更易理解,修改成本更低。 去除重复 简化复杂逻辑 澄清模糊的代码 重构过程 版本控制是一种软件工程技巧,是全面实行软件配置管理的基础,用以保证软件技术状态的一致性。版本控制是对系统不同版本进行标识和跟踪的过程。版本标识的目的是便于对版本加以区分、检索和跟踪,以表明各个版本之间的关系。 版本控制 在于跟踪记录整个软件的开发过程,包括软件本身和相关文档,以便对不同阶段的软件及相关文档进行表示并进行差别分析,对软件代码进行可撤消的修改,便于汇总不同开发人员所做的修改,辅助协调和管理软件开发团队。 在于对软件开发进程中文件或目录的发展过程提供有效的追踪手段,保证在需要时可回到旧的版本,避免文件的丢失、修改的丢失和相互覆盖,通过对版本库的访问控制避免未经授权的访问和修改,达到有效保护企业软件资产和知识产权的目的。? 版本控制 目的 功能 Visual SourceSafe(VSS) Rational ClearCase(CC) Concurrent Versions System(CVS) Subversion(SVN) 版本控制工具 重构——变化 版本控制——一致 具体的问题 关于重构时更改变量、类、接口、结构体、函数等的名字 重构时更改了函数或方法的参数列表。 重构时删除大段代码 A B C A B C A、B两人同时在做一个项目,其中A把结构体 改为了 但B并不知道名字的改动,在A提交之前仍使用PPassthruStatistics 写了如下一个函数,运行没有错误提交。 但他是在A提交之后提交。 提交后运行程序,出现错误,如下图,这就产生了冲突。 解决方法 安装IDE插件。比如VisualAssist、 SlickEdit IDE/Plug-In等,便于重构时级联改名。 重命名问题 A 解决方法 在Java中,开发的时候可以适当地使用匿名类,但是 不应该过度地使用,以防止程序的可读性降低。 安装IDE插件。比如VisualAssist、 SlickEdit IDE/Plug-In等,便于重构时级联改名。 要改名时,可以使用typedef或#define(C/C++)来 重新定义旧命名,并建议使用typedef,以此来消除 当其他人引用旧命名时的冲突。同时,要向其他成员 说明,该命名已修改,要尽快使用新的命名方式。 重命名问题 A 更改方法参数列表 加入形参。 如果向参数列表中加入了形参,那么C++中可以把新加入的n个形参设置为最后n个形参,并对该n个形参设置默认值,起到函数重载的效果(其实这也是一种多态),这可以与其他人的老版本函数兼容。 解决方法 B 更改方法参数列表 封装形参/减少形参。 因为要加
文档评论(0)