典型自动化方法和工具
— 笔记整理自 北京理工大学 计算机学院
自动重构:重命名
自动重构:重排参数
- 对现有函数进行参数重排
- 智能工具感知那些调用add方法的代码提出修改方案
- 开发者只需要选择并回车即可
自动重构:方法重载
- 修改代码并且给开发者带来开发上的方便
- 鼠标定位到方法上,然后在智能感知菜单上选择方法重载即可生成一个新的重名方法
- 然后用键盘修改它的参数即可
自动重构:封装字段
- 我们经常封装字段使用private,然后使用getter和setter来对外提供功能
- 使用封装字段功能可以快速生成getter和setter,提高开发速度集中进行高创造性的活动
自动重构:嵌套替换
- 用伪语句来代替条件嵌套
- 条件表达式通常有两种表达方法
- 所有分支都属于正常行为
- 条件表达式提供的答案只有一种正常行为,其他都不是常见的情况
- 两种表达式有不同的用途
- 对第一种情况,可以用If Then Else 这样的条件表达式
- 第二种情况, 某个条件极为罕见,要单独检查这个条件
自动重构
- 代码从设计偏离,设计变得过时
- 软件开发过程需要重构
- 改进软件的设计
- 提高代码质量
- 提高系统可维护性
- 帮助尽早发现错误
- 提高开发速度
- 重构表现了敏捷方法的设计哲学: 进化
- 重构时机:需求变更、设计改进、发现Bad Smells
- 自动化重构工具的支持
TDD测试框架
- TDD:来自XP的最佳实践
- 先有测试代码,后有功能代码
- 测试代码来自需求而不是功能代码
- 回归事情处理的正确顺序
- 可减少开发时间和成本,改善质量
TDD应用:LifeWare
- 4年和40人/年的工作
- Smalltalk语言开发
- 250000行功能代码+250000行测试代码
- 4000个能够在20分钟内执行完毕的测试
- 整个测试集每天都要运行多遍
- 系统的市场潜力急剧增加
- 快速应变的能力
TDD问题:如何测试
- TDD需要其他的技术配合,才能发挥实际功效
- 在团队合作中,你需要调用其他开发者的编写的组件, 但是他们只完成了接口还没有编写实现,这时候如何编写自己的单元测试代码li>
- 这里就需要它的最佳搭档模拟对象的出现了
TDD搭档:模拟对象
- 模拟对象技术就是利用对象的模拟版本来代替依赖的类
- 这些模拟对象传递给要测试的类之后,依赖关系就被对象的模拟版本代替了
- 被测试对象依然认为自己处理的是真实的对象
- 这种冒名顶替的测试思想出现的比较早
- 现在有了大量的模拟对象框架,开发者只需要几条简单的语句,就可以进行模拟
模拟数据
- 在 络应用开发当中,前端开发独立于后端的 Mock.js
- 基于数据模板生成模拟数据
- 基于HTML模板 生成模拟数据
- 拦截并模拟 ajax 请求
UI测试
- Selenium IDE 火狐插件
- 记录和模拟用户的操作
- 将这些操作转换为脚本
- 录制控制区控制录制状态
- 操作记录区显示我们的操作的命令
- 可导出成各类代码脚本,可嵌入其他语言之中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!