svn这东西是我到了公司后才用的,版本控制的软件也就涉及到了svn而已,本来这次回校作项目打算用cvs试试,不过对比下svn,还是选择了后者,一来自己比较熟悉,二来他更简单易用一些
其实写代码很经常遇到这样的问题,修改代码,随便写一个小软件,修修改该是很正常不过的事情,我们自己修改代码可能就随便的注释一部分。这个对小工程是完全可以的,而且是在可控制范围内的。顶多代码注释多些,反正自己看的懂就可以了。我以前自己也是这么走过来的
可是多人协作的时候,版本控制可以比较明显的降低这种注释代码带来的隐患和效率问题。
1,大量的注释代码会影响代码的阅读和修改,一段清洁的代码方便自己阅读也方便别人阅读
2,用svn,你不用为维护旧的代码付出太多精力和时间
3,用svn,不用为维护每个人代码的同步付出太多的代价
假定我们现在有三个人作开发,那么,每个人手上都有一份代码,那么不考虑每个人修改的版本,至少有三份代码,每个人在自己做完修改后,还要通知其他两个人自己做了哪些修改,并对他们的代码需要作出更新,当人员增加的时候,这个代价是n*n的增长的,这是个很痛苦的事情
开发中修改代码不可避免,经常作测试的修改部分代码验证修改的准确性的时候,我们都是注释掉一部分代码来做,那么这样很容易发生把测试代码给他人或者把修改代码遗漏或者不完全的情况,需要人为的去维护代码的完整性,这个也很痛苦
使用版本控制软件可以避免这些不必要的痛苦,当你完成部分代码的时候,提交服务器,并更新你本地代码,代码的合并有svn完成,如果有冲突,那么你也之需要在svn提示下,消解特定文件的冲突即可,你不必把精力花在你刚刚修改了哪些代码这种无聊的问题上面
window下面部署svn服务器及其简单,下载一个visualSvn server版本,在图形化的界面下设置下就ok了,顶多是英文界面为对新人超成一些麻烦外,由于viaualSvn server版本是个很简单的服务器版本,可供设置的选项也不多,所以也没什么可以让你麻烦的,linux下面的服务端未配置过,linux应该会相对麻烦些,没有win32那么图形化操作来的顺手
windows下面比较好用的svn客户端有TortoiseSVN(和windows的资源管理器结合的很好)linxu下面比较好用的svn客户端应该是rapidSvn吧,esvn用了个晚上,发现diff不是很好用。不过菜单设计比较人性化一些,也是个不错的客户端,总的说 win下面的客户端也比较好上手些
其实有准备经常作项目的,可以在自己本机上面配置一个svn服务端和svn的客户端,这样代码修改也可以随意些,不需要注释大片的代码来备份以前的成果。
版本控制这东西,其实是作项目开发一个入门需知的小工具而已,有助于程序员把有限的精力放在最需要的地方而不需要为那些琐碎的事情烦恼。版本控制不是什么很高深的东西,关键在于能帮你作什么,而不是用来炫耀的技能
其实写代码很经常遇到这样的问题,修改代码,随便写一个小软件,修修改该是很正常不过的事情,我们自己修改代码可能就随便的注释一部分。这个对小工程是完全可以的,而且是在可控制范围内的。顶多代码注释多些,反正自己看的懂就可以了。我以前自己也是这么走过来的
可是多人协作的时候,版本控制可以比较明显的降低这种注释代码带来的隐患和效率问题。
1,大量的注释代码会影响代码的阅读和修改,一段清洁的代码方便自己阅读也方便别人阅读
2,用svn,你不用为维护旧的代码付出太多精力和时间
3,用svn,不用为维护每个人代码的同步付出太多的代价
假定我们现在有三个人作开发,那么,每个人手上都有一份代码,那么不考虑每个人修改的版本,至少有三份代码,每个人在自己做完修改后,还要通知其他两个人自己做了哪些修改,并对他们的代码需要作出更新,当人员增加的时候,这个代价是n*n的增长的,这是个很痛苦的事情
开发中修改代码不可避免,经常作测试的修改部分代码验证修改的准确性的时候,我们都是注释掉一部分代码来做,那么这样很容易发生把测试代码给他人或者把修改代码遗漏或者不完全的情况,需要人为的去维护代码的完整性,这个也很痛苦
使用版本控制软件可以避免这些不必要的痛苦,当你完成部分代码的时候,提交服务器,并更新你本地代码,代码的合并有svn完成,如果有冲突,那么你也之需要在svn提示下,消解特定文件的冲突即可,你不必把精力花在你刚刚修改了哪些代码这种无聊的问题上面
window下面部署svn服务器及其简单,下载一个visualSvn server版本,在图形化的界面下设置下就ok了,顶多是英文界面为对新人超成一些麻烦外,由于viaualSvn server版本是个很简单的服务器版本,可供设置的选项也不多,所以也没什么可以让你麻烦的,linux下面的服务端未配置过,linux应该会相对麻烦些,没有win32那么图形化操作来的顺手
windows下面比较好用的svn客户端有TortoiseSVN(和windows的资源管理器结合的很好)linxu下面比较好用的svn客户端应该是rapidSvn吧,esvn用了个晚上,发现diff不是很好用。不过菜单设计比较人性化一些,也是个不错的客户端,总的说 win下面的客户端也比较好上手些
其实有准备经常作项目的,可以在自己本机上面配置一个svn服务端和svn的客户端,这样代码修改也可以随意些,不需要注释大片的代码来备份以前的成果。
版本控制这东西,其实是作项目开发一个入门需知的小工具而已,有助于程序员把有限的精力放在最需要的地方而不需要为那些琐碎的事情烦恼。版本控制不是什么很高深的东西,关键在于能帮你作什么,而不是用来炫耀的技能
本文探讨了版本控制系统SVN在软件开发中的作用,通过对比注释代码的方式,阐述了SVN如何帮助团队提高协作效率并减少代码维护的负担。
1万+

被折叠的 条评论
为什么被折叠?



