项目导学
项目介绍
顾名思义,BugsZero 是一道跟 bug 有关的题目。bug 与逻辑复杂、结构糟糕的代码往往相伴相随,通过清理重整代码的结构和设计,往往能有效消灭 bug 存在的土壤,降低其发生概率,并使得新特性的添加更加容易。通过这道习题,学员将能学到在开发新特性、修复 bug 与重构几顶帽子之间寻找合适的时机,掌握选择开始和停止一项重构的时机。
教学目标
掌握“预备性重构”的使用时机
养成在添加新特性前进行重构的习惯
养成重构时从易到难、循序渐进的节奏感
掌握辨别坏味道的方法、按坏味道查询重构手法的能力
掌握几种常见坏味道的处理手法:重复代码、依恋情结、霰弹式修改、发散式变化等
掌握几项常见的重构手法:提炼类、搬移函数等
项目学习时长
9 小时。
任务 1:1 h
任务 2:1 h
任务 3:1 h
任务 4:1 h
任务 5:1 h
任务 6:1 h
任务 7:1 h
任务 8:1 h
任务 9:1 h
技能目标
能够在 1 分钟内通过单元测试;
利用“提炼函数”消除“重复代码”;
利用“提炼变量”消除“重复代码”、“霰弹式修改”;
利用“提炼类”形成新的对象、“搬移函数”消除“依恋情结”;
设计高内聚的对象;
Last updated
Was this helpful?