如何将臃肿的条件语句重构为数组以简化代码?
重构冗余条件判断为数组遍历的方案
嘿,这情况太常见了——一堆重复的条件判断和方法调用,看着就头疼!咱们把这些要重置的字段放进数组里,用遍历的方式来简化代码,既减少冗余,后续维护也方便。
重构后的代码
//非Connect-n-Go时重置Connect-n-Go选项 if ((VS_SELQ == "WIRING") && (VS_SELA != "CNG")) { // 定义需要重置的字段数组 const fieldsToReset = [ 'CNG_PRESETS', 'PATTERN_WARN_1', 'PATTERN_WARN_2', 'PATTERN_ARROW', 'FASCIA_QTY', 'EXT_HARN', 'FRONT_FASCIA_COLOR_WARN_1', 'FRONT_FASCIA_COLOR_WARN_2', 'FRONT_FASCIA_COLOR_WORK', 'REAR_FASCIA_COLOR_WARN_1', 'REAR_FASCIA_COLOR_WARN_2', 'REAR_FASCIA_COLOR_WORK' ]; // 遍历数组执行重置逻辑 fieldsToReset.forEach(field => { if (getAnswerCode(field) !== "") { reset(field); } }); }
为什么这么改?
- 减少冗余代码:把重复的
if(getAnswerCode(...)) reset(...)逻辑统一成遍历操作,不用重复写相同的判断结构 - 提升可维护性:以后要新增需要重置的字段,直接在
fieldsToReset数组里加字符串就行,不用再写新的if块 - 可读性更强:一眼就能看到所有需要重置的字段列表,逻辑更清晰
内容的提问来源于stack exchange,提问作者Anthony Smith
相关产品推荐
相关产品推荐

