代码的潜意识错误

@TOC

1 问题现象

  • 错误代码:
if(!timer){
	clearInterval(timer);
}
  • 代码目标:如果timer不为空,进行清理

2 原因分析

  • 脑海中直译文字:不为空, 不空, ! time, 因为time可能为空
  • 印象流写代码,感觉自己应该转行,走艺术流

3 尝试解决方式

  • 1 老实写代码
	if(timer != null){
	
	}
  • 2 不为空,就是有值
	if(timer){
		
	}

4 总结原因

  • 要面子,想写好看的代码 ,又没有理解到位
if(!timer){
	//否定的否定,即为肯定
	//所以这里是多了一层逻辑,并不是文字读起来的不为空
}
  • 不对,最初这种写法,是为了减少空对象的判断
if(timer == null || timer == '' || timer ==  'undefined')
  • 但我觉得后者可读性更强

5 结论

  • 代码 ,第一次的代码 ,请正常去写,不为空就写为 !=null,为空,就写为 == null, 不要跟我说什么优化,就是要一看就懂
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值