1.需求总是在改交
那些不能适应未来需求变更的设计是糟糕的设计。 能够适应未来需求变更的设计是每
位合格的软件开发者的目标
2.修改软件的四个原因:添加特性、修正 bug、改善设计、优化资源使用
商店只有一条规则:买满 100 元,免运费;没满 100 元,收 10 元运费。
即:买 90 元商品,付款 100 元;买 100 元商品,付款 100 元。
什么情况下,我们会去修改它?
1.加功能
老板想给会员增加优惠,老板说:"以后会员买满 80 元就包邮
2.修复bug 这个很好理解,就是程序运行结果不符合预期
3.改善设计
代码运行结果符合预期,但是实现起来非常不优雅,比如复杂逻辑全在一个很复杂的函数里面
4.优化性能
比如计算过程太慢,顾客点"结算",原来要等两秒。我们改善计算方法,让它只需要等半秒。
3.自动化测试和单元测试
整理代码之前,先把用来检查它的测试准备好。带着反馈工作
测试分成自动化测试和单元测试,自动化测试是端到端的测试,单元测试是检查一小段代码
单元测试 适合在你修改代码的时候,频繁、快速地告诉你结果有没有变。
经常做这样的循环:
改一小处 → 运行相关单元测试 → 看结果 → 再改下一处。
单元测试经常遇到一个这样的问题:依赖太多
你想单独运行这个"小计算器",它却非要先连接数据库,查询顾客资料
4.测试驱动开发
先用测试写清楚"做到什么才算完成",再去实现功能。