从一副漫画说编码思维,编码习惯,编码风格 (条件判断,死代码,true 或false)

 漫画中机器人要杀了人类,但是那个程序员说他并没有写代码让机器人杀人类啊!!

代码中确实给isCrazyMurderingRebot赋值了false作为初值,开发者的本意也是永远不要让它变为true,永远不要让机器人伤害人类,但是事与愿违,就因为本意是作为检测isCrazyMurderingRebot是否为true的语句,却变成了赋值语句,isCrazyMurderingRebot = true,导致了isCrazyMurderingRebot永远为true了,从而挑起了机器人与人类之间的战争。:)

从而也引发了编程思维与习惯,风格等问题。

1)如果你不想让代码执行,那么最好的办法就是不要写它们,就像漫画中的代码一样,如果比不想让机器人伤害人类,kill(humans)的代码就不要实现好了。

2)如果出于某些原因,你只是临时不想让某些代码不执行,那么比较好的办法是让它没有机会执行,让它变成死代码,而不是有任何的机会复活,比如漫画中的代码,改成if(false)就让其变成彻底的死代码了。

3)如果非要对两个值进行比较的话,比较稳妥的方法是常数值放在比较符号的左边,这样,如果你不小心少写了一个=号,编译器会告诉你错误,比如漫画中的代码改成if( true = isCrazyMurderingRebot),编译器就会告诉你少写了一个=号。

4)对于true和false判断,强烈建议不要用==来进行判断,我们以c++为例,只需要简单地进行if(isCrazyMurderingRebot) 或者if(!isCrazyMurderingRebot)就好了,因为编译器规定true为非0值,有时候你用==来比较,很有可能不能达到你期望的效果。

猜你喜欢

转载自blog.csdn.net/zhanghaiyang9999/article/details/81560169