| 信号 | 4 个以上参数、多个参数总是成对出现 |
|---|---|
| 手法 | Introduce Parameter Object / Preserve Whole Object / Remove Flag Argument |
前后对比
前后对比
// 之前
badge(name, age, dept, title, id)
// 之后
badge(employee)参数对象不要沦为数据袋:给它行为(如校验、格式化),或在后续重构中继续移动职责。
参数过多表示函数依赖面过宽:把成组参数换成对象(Introduce Parameter Object)、把查询替换为对象方法(Replace Parameter with Query)、移除多余参数。
| 信号 | 4 个以上参数、多个参数总是成对出现 |
|---|---|
| 手法 | Introduce Parameter Object / Preserve Whole Object / Remove Flag Argument |
// 之前
badge(name, age, dept, title, id)
// 之后
badge(employee)