You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何简化项目中错误输出模块的多重if判断语句?

简化多重条件判断的错误输出代码

当然可以简化,把重复的校验逻辑抽成结构化的列表,既减少冗余代码,也方便后续维护。重构后的代码如下:

# 整理校验项:变量与对应错误信息的映射
validation_checks = [
    (self.Lot_Mean_r, "Error: Lot Mean negative or less than 0"),
    (self.Lot_SD_r, "Error: Lot SD negative or less than 0"),
    (self.SSB_DF_r, "Error: SSB DF negative or less than 0"),
    (self.SSW_DF_r, "Error: SSW DF negative or less than 0"),
    (self.SST_DF_r, "Error: SST DF negative or less than 0"),
]

has_errors = False
for value, msg in validation_checks:
    if value <= 0:
        self.ui.textEdit_status_N.append(msg)
        has_errors = True

if not has_errors:
    # 执行原来的主代码
    [main code]

简化思路:

  • 把需要校验的变量和对应的错误信息打包成元组,放在一个列表里,避免重复写if判断
  • 通过循环遍历列表完成所有校验,统一处理错误输出
  • 用一个标志位has_errors记录是否有错误,替代原来的外层if-else逻辑

这样修改后,逻辑和原代码完全一致:会输出所有不符合条件的错误信息,没有错误时才执行主代码。后续如果要新增校验项,直接在validation_checks里加新的元组即可,不用再写新的if块。

内容的提问来源于stack exchange,提问作者gigi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 01:31:00