我想说说为什么没有采用他提供的这三种更聪明的方法
01.if(red == light)
02. puts("STOP"
03.if( green == light )
04. puts("Go!Go!Go!"
// 这种方法,比较近似
// 然而让我想不痛的是,既然light都已经等于red了,为啥后面接着还要来个if判断light是否等于green?
// 这让我想起他曾经说我代码没有逻辑,明明fp不可能为NULL,而要去判断是多此一举
// 而这里,两个互斥的两个条件并列,所以我用了if...else if
01.if( red == light )
02. puts("STOP"
03.else
04. puts("Go!Go!Go!"
// 在我看来,这样写很危险
// 如果light为yellow呢?
01.puts( red == light?"STOP":"Go!Go!Go!"
// 这种形式,我说什么好呢?
// 同样存在第二种的light为其他颜色的问题
// 同时,我也觉得这种代码缺乏可读性,对于初学者,估计会把读者搞得云里雾里
所以,我没有采用这些在他看来更好的写法。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |