项目导学

项目介绍

顾名思义,BugsZero 是一道跟 bug 有关的题目。bug 与逻辑复杂、结构糟糕的代码往往相伴相随,通过清理重整代码的结构和设计,往往能有效消灭 bug 存在的土壤,降低其发生概率,并使得新特性的添加更加容易。通过这道习题,学员将能学到在开发新特性、修复 bug 与重构几顶帽子之间寻找合适的时机,掌握选择开始和停止一项重构的时机。

教学目标

  1. 掌握“预备性重构”的使用时机

  2. 养成在添加新特性前进行重构的习惯

  3. 养成重构时从易到难、循序渐进的节奏感

  4. 掌握辨别坏味道的方法、按坏味道查询重构手法的能力

  5. 掌握几种常见坏味道的处理手法:重复代码、依恋情结、霰弹式修改、发散式变化等

  6. 掌握几项常见的重构手法:提炼类、搬移函数等

项目学习时长

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. 能够在 1 分钟内通过单元测试;

  2. 利用“提炼函数”消除“重复代码”;

  3. 利用“提炼变量”消除“重复代码”、“霰弹式修改”;

  4. 利用“提炼类”形成新的对象、“搬移函数”消除“依恋情结”;

  5. 设计高内聚的对象;

Last updated