当前位置:网站首页>做一个有职业操守的软件匠人
做一个有职业操守的软件匠人
2022-07-23 20:28:00 【InfoQ】
迭代的最小单元可以到一个函数
红绿切换的目的是解决当前需求/问题,而重构是为了降低技术债,应对以后的变化。
当你不知道如何重构的时候,那就是步子还是不够小
- 从一小步开始,不要求一次重构解决所有问题。
- 将代码改成一样的形式后,看是否能够合并同类项。
- 每一个改动后必须运行测试。保证全部通过。
- 重复2~3步,直到重构满意为止。
TDD三定律
- 没有测试之前不要写任何功能代码
- 只编写恰好能够体现一个失败情况的测试代码
- 只编写恰好能通过的测试代码。
对遗留系统进行重构的步骤
- 编写测试保留当前功能的行为,而不对其进行修改。
- 新作功能导致当前功能测试无法通过后,再来修改测试逻辑。
- 只针对bug添加测试开始。不对运行良好的部分特意编写测试,直到有必要的时候。
写在最后

边栏推荐
猜你喜欢

MongoDB-查询语句中逻辑运算符not、and、or、nor用法介绍

Car rental vehicle management system based on jsp+ssm+mysql car rental

【pdd面试】分析手机中的应用(相机)的活跃情况

【Scratch画图100例】图46-scratch绘制花朵 少儿编程 scratch编程画图案例教程 考级比赛画图集训案例

一文读懂研发效能洞察的五大流动指标

不用MQTT C库就能实现MQTT连接、订阅和发布

剑指 Offer II 115. 重建序列

138-查询案例-涉及知识点:forEach遍历&computed计算属性&v-for循环

Preprocessing tropomi (sentinel 5p) data with envi

Shell command and operation principle
随机推荐
剑指 Offer II 115. 重建序列
从ACL 2022 Onsite经历看NLP热点
【力扣】三数之和
网上开通证券账户安全吗?
2022.7.11 MySQL job
vim 常用快捷键
Cesium 事件详解(鼠标事件、相机事件、键盘事件、场景触发事件)
Today's sleep quality record 81 points
win7-vs2012下安装.net frame work 的过程图文详解
【创建 Birthday Card 应用】
微软网站上关于在Edge浏览器中打开或关闭smartScreen的说明有误
数组——27. 移除元素
Lyscripttools extended script module
分布式事务方案:最大努力通知方案
【Scratch画图100例】图46-scratch绘制花朵 少儿编程 scratch编程画图案例教程 考级比赛画图集训案例
Read the five flow indicators of R & D efficiency insight
OpenLayers实例-Animated GIF-GIF动画
Educational Codeforces Round 132 A-D题解
MongoDB-查询语句中逻辑运算符not、and、or、nor用法介绍
Shell command and operation principle