当前位置:首页 > 芯闻号 > 充电吧
[导读]        前言:这是我在公司内部的一个培训,培训完之后特地整理成一篇文章。         应该说这是一个很大的题目,在这里我只是简单谈谈我的一些心得体会,不当之处,还请大家赐教。       


        前言:这是我在公司内部的一个培训,培训完之后特地整理成一篇文章。

 

        应该说这是一个很大的题目,在这里我只是简单谈谈我的一些心得体会,不当之处,还请大家赐教。

 

        要论述软件开发中资源处理,首先要明确软件开发中涉及到哪些资源。软件开发中涉及三方面的资源:人力资源、代码资源和文档资源。本文重点谈论如何管理代码资源和文档资源。

 

         代码资源一般需要通过版本管理工具进行管理。为什么需要版本管理工具?一方面是因为现代软件开发是一个团队活动,是需要进行协作开发的;另一方面版本管理具有回溯历史版本的功能,在排错中具有重要意义。

 

那么一般常用的版本管理工具有哪些呢?在我刚参加工作时,使用的是微软出品的VSS 6.0。VSS 6.0的优点是简单,上手快,缺点是不适合复杂的协作开发环境,比如它不支持多人同时迁出同一个文件。当然后来微软对VSS 6.0做了升级,不过我没使用过比VSS6.0更高的版本。现在使用的是SVN。SVN是一个开源的集中式的源码版本管理工具,在IT界中广泛使用。现在广泛使用的还有Git。Git是一个开源的分布式的源码管理工具,在开源社区广泛使用。现在它在IT企业中也慢慢流行。

 

我最经常使用的SVN有四个操作:

迁出(check out):将服务器的版本下载到本地作为一个副本。

提交(commit):将本地修改的代码上传到服务器

更新(update):下载服务器上最新代码到本地

恢复(revert):将本地修改的代码还原到上一个版本

 

         使用SVN常见的目录结构是怎样的?具体如下图:


        从上图可以看到一个svn版本库下一般有三个目录:trunk、branches和tags。trunk很好理解,就是存放最新版本代码的目录。为什么会有branches和tags?就是说它们的作用是什么?branches作为存放分支版本的目录,主要起到一个试验的作用。比如当你试验一个新的绘图引擎,你在主干版本试验就不太合适。因为主干版本的代码是经常处在剧烈变动的状态,很可能导致试验无法进行,同时你编写试验代码也会影响其它人的代码。因此稳妥的办法是你复制一份主干版本到branches目录下作为一个分支来试验,待试验通过后再和主干版本进行代码合并。tags主要作用在于存放不作改动的比较稳定的历史版本。比如你要对外发布版本,你不可能编译最新代码来获取一个版本来对外发布,因为这个版本虽然是最新的,但肯定不是最稳定的,因为没有经过严格测试。因此你需要从tags目录下找一个稳定的历史版本来发布。

 

说完了自主代码的管理,我们再谈谈第三方库的管理。首先第一个问题是:为什么需要第三方库?第三方库的作用在于资源重用,减少开发时间。很多时候如果没有第三方库,要按时完成一个软件项目的开发是一件很困难的事情!

 

其次谈一下第三方库的种类。第三方库大致分为两种:商业第三方库和非商业的开源第三方库。其中商业第三方库又可以分为提供源码的商业第三方库和仅提供接口文件和库文件的商业第三方库。

 

如何选择第三方库?我的建议有以下几条:

1.       优先选择开源第三方库。理由是:可以降低开发成本,同时利于定制。

2.       在没有好的开源第三方库的情况下优先选择提供源码的第三方库。理由是方便定制。

3.       优先选择成熟度高的第三方库。那么如何判断一个第三方库的成熟度?可以从以下方面考察:考察第三方库的更新频率,毫无疑问更新频率越高表示越活跃,也有利于其成熟;是否有活跃的交流社区,有表示成熟度更高;考察其在搜索引擎的搜索结果条数,条数越多表示越成熟。

 

如何利用第三方库?最基础是直接使用其提供的接口,高级一点是根据需要添加接口,同时修改它的bug。比较高级的是在剖析它的源码之后进行定制。比如淘宝对MySQL和hadoop的定制。

 

谈完了软件开发中代码管理,再谈谈软件开发中的文档管理。我们谈谈在软件开发中文档可以分为一下几类:

1.       设计文档。如概要设计、详细设计

2.       交流文档。如内部会议记录、和甲方的交流邮件

3.       经验总结。如技术总结、开发中用到的电子书

 

        文档在软件开发的作用其实是不亚于代码的,但是现实中开发人员往往对文档不够重视。其中一个重要原因是不少开发人员体会不到文档的作用。那么文档到底有什么用?在我看来至少有两方面作用:首先设计方面的文档本身就是甲方要求的,你不想写都不行;二是文档可以作用过程资产来共享。比如项目经理不可能每来一个新同事都通过口头来介绍项目情况(因为项目经理没有这个精力和时间),肯定是需要发一些文档来给他看,让他自己来学习。又比如开发人员离职,不通过文档又如何把工作顺利交接到同事手中呢?

 

文档也是经常变动的,因此它也是需要版本管理工具进行管理的。

 

最后我们看到一个版本数据库的目录可以是这样的:


在trunk目录是这样的:


在doc目录是这样的:


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭