没规范的下场 - 潜在隐患 ¶
作者:KK
发表日期:2016.3.10
这个隐患问题其实也很多经验这人谈论,并且已经摆到标准上去规定它了
if语句如果只有一句的话是可以不用花括号包住的,比如
if($age >= 18)
doXXX();
else
doYYY();
一般有2年经验以上的人不会再这样写代码了,所以新手看到这里请马上纠正,必须用花括号包住,为什么呢?
原因就是在未来,如果又有一个新手在这里的基础上加了句代码,他可能会漏了花括号
if($age >= 18)
doXXX();
else
doYYY();
doYYY2();
其中doYYY2()是新增的代码,这里的隐患就是如果age大于等于18时,虽然会执行doXXX,但是也会执行doYYY2
原因是由于语句块没有用花括号包住,只有第1句属于逻辑条件的,那么在else部分,只有doYYY是属于else逻辑的,而doYYY2就不属于了,所以doYYY2总是会被执行的
个别新人确实会在这种情况下没注意到这种情况,直接在后面加多一行代码就算了,而且测都不测就提交(这个估计很多人都依然存在此问题)