Skip to main content
Jkyo Chen Blog

Refactoring

在不改变软件可观察行为的前提下改善其内部结构。

案例 #

重构原则 #

何时重构 #

三次法则 #

添加功能时重构 #

修补错误时重构 #

复审代码时重构 #

重构的难题 #

代码的坏味道 #

Duplicated Code(重复代码) #

Long Method (过长函数) #

Long Class (过长的类) #

Long Parameter List (过长参数列) #

Divergent Change (发散式变化) #

Shotgun Surgery (霰弹式修改) #

Feature Envy(依恋情结) #

Data Clumps (数据泥团) #

Primitive Obsession (基本类型偏执) #

Switch Statements (switch 惊悚现身) #

Parallel Inheritance Hierarchies (平行继承体系) #

Lazy Class (冗赘类) #

Speculative Generality (夸夸其谈未来性) #

Temporary Field (令人迷惑的暂时字段) #

Message Chains (过度耦合的消息链) #

Middle Man (中间人) #

Inappropriate Intimacy (狎xia昵ni关系) #

Alternative Classes with Different Interfaces (异曲同工的类) #

Incomplete Library Class (不完美的库类) #

Data Class (纯稚的数据类) #

Refused Bequest (被拒绝的馈赠) #

Comments (过多的注释) #

构筑测试体系 #

重构列表 #

重构记录的格式 #

重构手法有多成熟 #

重新组织函数 #