本项目为ThoughWorks内部【敏捷工程实践系列】之「重构」线上练功房热身编程题,业务复杂度相对简单,预估花费 0.5 ~ 1小时完成。
目的:1. 热身;2. 摸底
- JDK1.8
- JUnit 5
- Gradle 5.2.1
老王经营了一家超市,之前找了一个Vendor开发了一款简化版的超市收银机。收银机的功能很简单:在顾客结账时,需要打印订单信息。之前的Vendor已经开发出了可以用的代码。
收银机一直都很难用,收银员经常跟老王抱怨。老王由于勤快,把超市做大了,寻思着找个好的Vendor把软件优化一下,并继续开发一些新功能。他听说TW在软件交付方面很擅长,擅长交付高质量的软件,于是找到了TW。
TW工程师接收后,却发现代码存在神一般的命名和谜一般的逻辑,所以为了更好地继续下去,不得已停下来对已有代码进行重构。
此时,你正好在该项目担当重构大任的骨干,接下来请你完成这一轮重构,让代码从可用
到简洁可用
。
- 重构前运行测试,确保测试是通过的
- 每修改一处代码,运行测试,确保测试是通过的,并做一次Commit,Commit信息描述你认为的代码坏味道和重构手法
- 产品代码位于
src/main
下的cc.xpbootcamp.warmup.cashier
package中 - 测试代码位于
src/test
下的cc.xpbootcamp.warmup.cashier
package中 - 不要修改测试代码
- 尽自己所能,尽可能多的找出坏味道,并重构掉
每个小伙伴将该项目fork自己的GitHub账号下