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

如何优化if/else条件判断,编写符合DRY原则的简洁代码?

优化条件判断以符合DRY原则

第一个案例优化

原代码:

if flag?
  box? && ball?
else
  box?
end

可以提取公共的box?判断,将逻辑简化为两种等价形式:

# 逻辑表达式形式
box? && (!flag? || ball?)
# 三元表达式形式,可读性更强
box? && (flag? ? ball? : true)

逻辑说明:无论flag?状态如何,box?都必须为真;当flag?为真时,额外要求ball?为真;flag?为假时,仅需box?为真即可,完全匹配原逻辑,且避免了重复书写box?。

第二个案例优化

原代码:

if flag?
  box? && ball? 
else
  box? && ball? && bat? 
end

这里公共部分是box? && ball?,同样可以简化为两种等价形式:

# 逻辑表达式形式
box? && ball? && (flag? || bat?)
# 三元表达式形式
box? && ball? && (flag? ? true : bat?)

逻辑说明:box?和ball?在两种分支里都需要为真,仅当flag?为假时,额外要求bat?为真。提炼公共判断后,避免了重复书写box? && ball?,完全符合DRY(Don't Repeat Yourself)原则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 23:47:05