Type: concept
Confidence: 0.85
Created: 2026-04-25
Updated: 2026-04-25
Tags: 重构代码异味函数设计AI工程

长参数列表

概述

长参数列表是代码异味的一种,指函数或方法接收过多参数的情况。这通常表明该函数承担了过多职责,或者相关数据应该被组织成对象。

关键内容

  1. 特征识别:
  2. 方法参数超过4个
  3. 一些参数总是成对或成组出现
  4. 布尔参数用于改变方法的行为
  5. 经常需要传递null或undefined值
  6. 参数顺序容易混淆

  7. 负面影响:

  8. 难以正确调用函数
  9. 参数顺序容易搞错
  10. 暗示方法承担了过多职责
  11. 难以添加新的参数
  12. 降低了代码的可读性和可维护性

  13. 重构策略:

  14. Introduce Parameter Object:将相关参数封装成对象
  15. Preserve Whole Object:传递整个对象而不是分离的值
  16. Replace Parameter with Method Call:用方法调用代替参数传递
  17. Remove Flag Argument:消除布尔标志参数

  18. 重构示例: ``` // 重构前:过长的参数列表 function createUser(firstName, lastName, email, phone, street, city, state, zip, isAdmin, isActive, createdBy) { // ... }

// 重构后:参数对象封装 function createUser(personalInfo, address, options) { // personalInfo: { firstName, lastName, email, phone } // address: { street, city, state, zip } // options: { isAdmin, isActive, createdBy } } ```

来源

相关