面试被问到如何优化掉多余的if/else?程序员小伙:直接开头return

本文探讨了如何优雅地优化多余的if/else语句,提出了提前return、策略模式(包括多态和枚举)以及使用Optional的方法。通过实例展示了如何改进代码结构,提高可读性和维护性。
摘要由CSDN通过智能技术生成

前期迭代懒得优化,来一个需求,加一个if,久而久之,就串成了一座金字塔。

1_9519046.jpg

当代码已经复杂到难以维护的程度之后,只能狠下心重构优化。那,有什么方案可以优雅的优化掉这些多余的if/else?

1. 提前return

这是判断条件取反的做法,代码在逻辑表达上会更清晰,看下面代码:

if ( condition )
{
	/* do something */
} else {
	return(xxx);
}

其实,每次看到上面这种代码,我都心里抓痒,完全可以先判断!condition,干掉else。

if ( !condition )
{
	return(xxx);
}
/* do something */

2. 策略模式

有这么一种场景,根据不同的参数走不同的逻辑,其实这种场景很常见。最一般的实现:

if ( strategy.equals( "fast" ) )
{
	/* 快速执行 */
} else if ( strategy.equals( "normal" ) )
{
	/* 正常执行 */
} else if ( strategy.equals( "smooth" ) )
{
	/* 平滑执行 */
} else if ( strategy.equals( "slow" ) )
{
	/* 慢慢执行 */
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值