版本控制心得

版本控制心得

ID:43588750

大小:40.50 KB

页数:4页

时间:2019-10-11

版本控制心得_第1页
版本控制心得_第2页
版本控制心得_第3页
版本控制心得_第4页
资源描述:

《版本控制心得》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、没有使川版木控制的黑暗时代一版木控制心得(一)在没有使用版本控制的开发团体中,我所熟悉的一种常用开发方式是:多个开发人员共同负责一个软件的开发,每个人在各自C冇整个软件的拷贝,并对Z实施编码,分别完成各门任务Z后,再通过文木比对工具将各门机器上的不同版木的软件整介到一台本文就这样的开发方式,提出在软件开发中出现的儿个和版本控制密切相关的典型问题(但未必全而),同样也是需要通过用来解决的问题,它们来源于实际开发过程中的切身体会,并经过总结和整理。1软件代码的一致性软件的开发、维护和升级,往往是多个人共同协作的过程。不同人对同一个软件的不同部分同时做

2、着修改,这种行为有时会H交义的情况。由于同一软件在各H开发人员的机器上都冇拷贝,软件的全部代码都暴露在每个开发人员而前,原则上他冇权限可"制地更改软件的任何部分。而当他们修改的内容属丁•公共部分,或者需要被其他人员所负责的部分调用时(软件各模块间的彼此%决定了这种情况是经常发生的),这种修改就属于交叉情况。此时,就有可能出现代码的不-•致现象。比如:修改者在改动了某彳数的同时也修改了其调用接口,若其他人员没冇得知此爭,而在各自机器上仍调用原來版本的函数,则当整合时,就会出现错谋。更为严重的情况是,修改者决定废弃原有函数而另外编写一个新的函数,但他

3、并未删除原有函数,这种情况即使故后的整合也可自察觉,如果将这种一致性错误的纠正延迟到测试阶段,则会増加调试的难度,从而降低开发效率。为了始终保证代码的一致性,-办法是,耍求修改者每次修改后都通过某种方式吿知同组•其他人员,或者随时对软件做整合。但是这样,一方面会增加开发人员另一方面也降低了软件的开发效率。2软件内容的冗余问题软件在各自开发人员的机器上都有拷贝,并且同一个开发人员在不同时期也会在本机保留当时的软件版本,也就是说,一台为可能不止一个版本。这类似于一种信息的冗余。对于不同版本而言,其差别冇时可能并不很人,如果说不必要的占用存储空间是问题

4、的话,那么另一个问题可能更重耍。随着时间的推移,开发人员可能对自己机器上的不同版本间具体差界的了解变得模糊不f忘记了当时为什么区分这些版木的原因,这会给整合带来麻烦。而且,如果需要同时维护多个版本,则对某个版本的改动可能需取其余版本的对应处,很难保证这一过程不会出差错。还有一点,作为开发人员,有时即使知道自己机器上软件的某个版木可能不£了,他也不会去删除(生怕力一需要从那里获取点什么),但是通常也不会再去维护或查看它,因此久而久Z,这种“假死Z物空机器上“蔓延”。3软件过程的“事务性”对于软件的某个版本,如果开发人员想要为其増添新的功能,或改善原

5、有功能,而乂担心会搅乱原来运行良好的软件。-•种容法,就是保留现有版木,另复制一个新的拷贝,并在新的副木上进行修改。这类似于一种爭务处理,当将一系列操作做为一个爭今果中间某个操作出现偏差,则希望恢复到执行事务z前的状况。而当完成修改之后,开发人员该如何处理这两个副本呢?是在新n继续新的开发,将z作为瑕新版本;还是将新的改动加入原冇版本,删除新的副本。无论怎样,都可能会出现如下情况:如果软《常,则出现2中提到的兀余情况;当删除修改前的版本后,乂发现改动中有问题,但已无法恢复了;改动无误,将改动加入原有可能出现人为错误,导致软件运行出错;即使没有人为

6、错误,这种做法也会给开发人员增加额外负担,一定程度的降低开发效率。述过程则会出现多个类似的副木,此时,如何对待这些不同版木,将是开发人员需要面对的问题。而如果调试的过程中,发现确$恢复到上一个版木,甚至上上个版木......,此时就不得不保留所有版木了。4软件开发的“并发性”由于是多人共同开发一个软件,期间出现多人修改软件的同一部分,尤英是同时修改,有时是不可避免的。对于前者,具有$习惯的人员的-•种通常做法是,对他人的源程序进行修改时添加必耍的注释,写明修改人,修改原因,修改日期等。但实际情况文改内容很冬散或修改过程很复杂时,注释很难写,或者代

7、码被注释分割得支离破处影响正常阅读,或者注释无法详细说明实际情决这种做法也増加了开发人员的负担:他需要在考虑代码逻辑的同时,兼顾如何场注释:而对于注释和代码的一致性也是他需要随H问题,不能疏忽。因此,我认为这种措施在实际开发中,并未取得实质效果,是不必要的,事实上代码木身(而非注释)是最能0的,而修改的记录应该置于代码Z外的某处。而且,不论是否是同时修改,都需要考虑1所提到的一致性问题,需要及时进行人」比较和整合以便形成一个统一的新版本。5软件代码的安全性山于代码完全暴露于所有开发人员面前,任何人都可以增、删、改之。除了会适成1所提到的不一致问题

8、外,从安全的角度》是存在隐患的,这一点对于一个自主产权的长期开发的产品而言更是如此。即使是…般的项目开发,不同的人员其分工不同,允*以不

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。