没规范的下场 - 潜在隐患

  • 作者: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总是会被执行的

个别新人确实会在这种情况下没注意到这种情况,直接在后面加多一行代码就算了,而且测都不测就提交(这个估计很多人都依然存在此问题)