Happy3w

如何组织和管理代码:多版本、多项目并行

2016.12.24
开发环境:Eclipse3.8+uap插件 业务开发:NC5X全系+NC6X全系产品 问题描述: 在双百期间(或平时bug集中某几个人),项目问题猛增,一个开发人员往往需要处理很多的问题,不分版本、不分项目,接到什么问题解什么问题。于是代码、环境经常要来回切换,补丁也一堆,稍不慎,就会弄成一锅粥。那么在没有git管理代码的临时环境下,如何组织代码、环境等信息才能提高效率,减少手误等无谓的麻烦,并方便快捷的准备好开发环境呢。 经验总结: 1、一个版本一个WorkSpace 为你要开发调试的每个版本单独准备一个workspace(由Eclipse建立的WorkSpace),版本之间千万别共享workspace,因为每版本的jre、nchome等环境基本都不同,如果多个版本共享一个workspace,意味着你解不同版本的问题时,需要来回切换,一旦忘记切换就造成莫名的麻烦,比如无法启动、或者出的补丁有问题等等。作为dev你应该知道把问题扼杀在源头是最好的。 WorkSpace命名格式:建议带上版本号,如Space_V65,Space_V633(或者直接V65,V633)等。 2、一个业务模块一个业务组件项目 为你负责的主要业务模块或领域创建单独的业务组件项目(MDE下),若能为你负责的每个业务模块单独创建一个业务组件项目最好(出补丁时不用改模块名了),如小模块太多(比如uap65)则不宜一一创建单独项目。 模块命名格式:建议“模块_版本号”(or anyway you like),比如 UAP_V65,UAPBD_V65,UAP_V633,UAPBD_V633等。 3、一个调试组件,一个通版补丁组件,N个客户专项补丁组件(一个客户一个业务组件) MDE可以创建很多独立的业务组件,可以用这个来管凌乱繁琐的代码。 1)一个调试组件: 在确定问题原因时,需要长时间、加入大量的源代码进行调试,可能最后只需要改一个类一两行代码。所以等问题确定以后,原来加入的大量源代码(很多时候是反编译的)都要删掉,这些源代码都是临时性加载的。 调试组件命名:建议“版本号_temp”(or anyway you like),如V65_temp 2)一个通版补丁组件: 修改确定为通版补丁,被改代码后续要合入通版产品中。因此,建议见一个单独组件专门管理这些已出通版补丁的代码。 通版补丁组件命名:建议“版本号”(or anyway you like),如V65,V633. 3)N个客户专项补丁组件(一个客户一个业务组件) 修改确定为客户专项补丁,则为不同客户的专项补丁单独管理,不然很多客户混合在一起会乱成一锅粥。所以,一个客户一个业务组件,当然没有专项补丁的客户不需要创建业务组件。 专项补丁命名格式:建议“版本号_客户缩写”,如“V65_yto”(V65圆通速递)。 如下图参考: uap65