DevOps ACA 软件代码与质量管理(六)
文章目录软件代码与质量管理1.版本控制2.代码规约3.单元基础测试软件代码与质量管理1.版本控制1. 版本控制的-定义在软件工程学里,版本控制是指追踪和控制软件变更的实践;版本控制系统是用来辅助进行版本控制的工具;版本控制系统的发展历史–cvS–Subversion/ClearCase–git/hg/tfs2. 为什么需要版本控制系统记录谁在什么时间做了什么多人团队协作– 同步– 并行发布管理Co
软件代码与质量管理
1.版本控制
1. 版本控制-定义
-
在软件工程学里,版本控制是指追踪和控制软件变更的实践;
-
版本控制系统是用来辅助进行版本控制的工具;
-
版本控制系统的发展历史
– cvS
– Subversion/ClearCase
– git/hg/tfs
2. 为什么需要版本控制系统
- 记录谁在什么时间做了什么
- 多人团队协作
– 同步
– 并行 - 发布管理
- Commit Message提供额外的信息,解释变更原因
- Bug 调试 回滚
3. 分支策略
- 主干开发,分支发布
- 管理简单
- 主干问题会阻塞开发进程
- 分支开发,主干发布
- 开发分支可以提供可靠的代码隔离
- 主干问题会阻塞开发进程
- 分支开发,分支发布
- 开发分支可以提供可靠的代码隔离
- 主干的问题不回阻塞发布
- 集成时间点可能延后
2.代码规约
1. 编程规约构成
2. 编程规约的范例
- 不允许美元符号、下划线出现在变量中。下划线和美元符号有特殊意义 .
- 不允许用拼音和英文的混合,或者是中文。所有的变量都应该使用标准的英文,英文单词不会出现歧义。
- 使用匈牙利命名法
3. 代码规约扫描工具 -P3C
3.单元基础测试
1.什么是单元测试
单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。
例如,你可能把一个很大的值放入一个有序list中去,然后确认该值出现在list的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。
执行单元测试,是为了证明某段代码的行为确实和开发者所期望的一致。
2. 规模代价平方定律
定位并修复一个BUG所需的代价正比于目标代码规模的平方
例如 :
20行的代码在开发阶段发现bug,定位+修复时间可能只需要10分钟
200行的代码在别人调用时发现问题,定位+修复时间可能就需要1个小时,代码评审又需要1个小时
3.单元测试框架
4. 单元测试 -Mock测试工具
5. AIR原则
6. BCDE原则
7. 单元测试中的坏味道
- 测试场景过于集中
针对某一个单元,要注重简单 - 测试依赖运行环境
导致不稳定 - 测试缺少断言
人眼观察是否成功或者失败,导致效率降低 - 用例间存在依赖
需要独立,不能让用例之间存在依赖
错误实例:
更多推荐
所有评论(0)