请教:通过类字段交换数据的代码反模式名称是什么?
代码反模式名称说明
你遇到的这种代码设计属于**顺序耦合(Sequential Coupling)反模式,也常被称为隐含依赖(Implicit Dependency)**反模式。
核心特征
这种设计的关键问题在于:
- 类的方法之间通过实例字段传递数据,而非显式的参数输入输出;
- 方法执行存在强制顺序要求——必须先调用
getData()修改内部状态,再调用processData()才能得到正确结果; - 方法逻辑依赖隐藏的实例状态,而非明确输入,导致行为不可预测。
理想实现的优势
你提到的理想调用方式:
data = getData(); processData(data);
采用显式依赖传递设计,每个方法的输入输出清晰可见,符合无副作用方法的设计原则,优势包括:
- 方法调用顺序不再受限,逻辑更灵活;
- 代码可读性更强,新开发者能直接理解数据流向;
- 单元测试更简单,无需维护实例内部状态;
- 多线程环境下安全性更高,避免状态竞争问题。
内容的提问来源于stack exchange,提问作者Samy Boulos
相关产品推荐
相关产品推荐

