组件规范

1、组件版本规范

组件版本分为OA系统版本,Nuget版本,AssemblyFileVersion和AssemblyVersion

1.1 OA系统-版本规范-[高]

正常版本号:OA系统中任何组件都应该使用3位版本号,[MajorVersion].[MinorVerion].[BugFix]
比如”2.5.1”,

特性版版本号:这个是OA系统的新增功能,特性版本号为[Version]-f-[featureName]
其中Verion是这个特性版是基于哪个版本创建的
[featureName]是git仓库上对应的特性分支

示例:比如富文本组件,基于1.2.3版本创建的特性分支SupportRtl,那么OA上的特性版本为
1.2.3-f-SupportRtL, 同时富文本组件仓库上,比如有对应的feature/1.2.3-f-SupportRtL分支

注意,我们现在用的版本号的方式都是错误的, 新增版本计划时,版本号应从第2位增加

MajorVersion—当功能有较大的变动,导致无法兼容,比如升级U3D2019,大的重构等
MinorVerion—-新增功能
BugFix————修复BUG而出的版本

1.2 Nuget包-版本规范-[高]

Nuget包版本号必须与OA上的版本号保持一致,所不同的是,Nuget包支持预览版
一般用[version]-pre[num], 示例2.5.1-pre2

1.3 AssemblyVersion-版本规范-[高]

AssemblyVersion版本修改,会导致所有依赖它的dll都必须要重新编译才能使用,因此禁止修改

1.4 AssemblyFileVersion-版本规范-[中]

使用[nugetVersion].[shortCommitId]格式,这个需要脚本和工具支持
示例:1.2.3.daa7010
工具接入文档


2、组件代码仓库管理规范

2.1 组件仓库创建-[高]

  1. 必须通过SDP创建仓库,并同时开通Gerrit
  2. 必须开启Git仓库的分支保护,静止任何人提交develop分支和master分支

2.2 分支使用-[高]

  1. develop分支用于出开发版本或预览版
  2. master分支用于从develop归档代码
  3. 特性分支必须在feature目录下,比如feature/1.2.3-f-SupportRtl

2.3 代码提交-[高]

  1. 代码提交必须使用Gerrit,经过review后才能合并
  2. 代码提交前需要使用经过静态代码检查工具检验[中]
    静态代码检查工具使用说明

2.4 构建和发布-[高]

  1. 必须支持从SDP构建和发布Nuget
    备注:从SDP新建的仓库,已有模版可以支持,删除多余的代码即可
    旧仓库需要支持SDP打包,请看
    https://www.showdoc.com.cn/VLab?page_id=6615927931444707

2.5 Git Tag

  1. 测试通过后需要打Tag,Tag只能是正式版
  2. Tag格式Tag_[Version],示例:Tag_1.9.2

备注:目前只能通过手工打Tag,未来会自动化打Tag,只要OA上测试通过

3、组件文档规范

3.1 组件说明和使用文档-[高]

组件文档示例

3.2 组件接口文档-[高]

组件接口文档示例

注意接口文档最好从从代码注释中生成,防止时间久了之后,代码接口和文档不一致
具体参考文档

3.3 组件FAQ-[中]

组件FAQ文档示例

4、组件测试规范

组件需要支持独立测试,特别是组件不能依赖应用提测。

4.1 功能测试范围

功能测试范围

  1. PC平台-【高】
  2. Android平台-【高】
  3. IOS平台-【中】

交互功能测试范围

  1. PC交互功能-【高】
  2. Android手指交互-【高】
  3. VR手柄交互-【高】
  4. IOS手指交互-【中】

4.2 测试环境规范

  1. 需要有独立的测试工程,涉及U3D功能可以使用U3D工程和场景,其余可以使用普通的.net作为测试工程。
  2. 测试工程对组件的依赖必须用nuget,也就是待测试组件通过nuget安装到测试工程中,这点主要是为了模拟真实的使用场景,以及后续U3D组件提测,直接走OA构建发布预览的nuget组件包,方便QA接入测试。

5、其它规范

5.1 日志规范

文档

5.2 技术货架

待补充

日期 修改人 修改内容
2021年4月9日 黄金民 创建