作者yauhh (哟)
看板Programming
标题Re: [问题] 多逻辑判断的if合并或拆开对效能有影响吗?
时间Thu May 26 00:07:59 2011
※ 引述《hirabbitt (兔子)》之铭言:
: 例如说
: if(逻辑1 && 逻辑2 && 逻辑3 && 逻辑4){
: //要做的事
: }
: 和这样
: if(逻辑1){
: if(逻辑2){
: if(逻辑3){
: if(逻辑4){
: //要做的事
: }
: }
: }
: }
: 有哪个明显的比较好吗?
: 谢谢
第一种写法做了二件事: 第一是将合格的case放在一起, 第二则是这些合格的case
顺序被模糊掉.
优於第二种写法是,当你要拉出 else case 时,在第二种写法要知道把 else case
摆对层次及位置 (想想看, (逻辑1 && !逻辑2 && 逻辑3 && !逻辑4) 摆在什麽位置,
(逻辑1 && 逻辑2 && !逻辑3 && !逻辑4) 又摆在什麽位置),
但是第一种写法只告诉你,现在只有四种情况皆在的范围定义出来,如果你要拉出
else case, 只要范围不属於前四种情况的范围,都可以从同样这个 if 层次往下
拉出 else case.
第一种写法在重新整理程式时,比第二种写法容易.
--
/yau
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.112.229.22
1F:推 yoco315:大师,人家问的是效能,又天外飞来了 XD118.160.111.115 05/26 00:57
2F:→ yauhh:原po哪句话问到效能? 眼睛糊到______? 59.112.229.22 05/26 01:03
3F:→ awert:标题 114.35.186.241 05/26 01:04
4F:→ yauhh:喔,标题,ok 59.112.229.22 05/26 01:04
5F:→ yauhh:那我就不知道原po在想什麽了,要讲这一小句 59.112.229.22 05/26 01:05
6F:→ yauhh:的效能,我不觉得什麽好回答. 59.112.229.22 05/26 01:05
7F:推 chmod:看compiler怎麽编译吧 140.135.27.88 05/26 01:39
8F:→ yauhh:没错,语言只是语言而已,效能要看编译执行 59.112.229.22 05/26 02:02
9F:推 yoco315:眼睛糊到______? 118.160.108.49 05/26 09:15
10F:→ yoco315:正常, 你没在看人讲什麽也不是第一天 XD 118.160.108.49 05/26 09:16
11F:→ hirabbitt:不过这一篇也很有意思 感谢 163.13.127.91 05/26 09:35
12F:→ yauhh:那也完全不干你的事,滚开吧,你呛过的人218.160.211.145 05/26 21:33
13F:→ yauhh:没有一个人在鸟你. 只会上BBS呛人.218.160.211.145 05/26 21:34
14F:→ yauhh:基本上,在此我发现了自己的错误,我已经改正.218.160.211.145 05/26 22:28
15F:→ yauhh:所以你在怎麽呛我,我认为我问心无愧.218.160.211.145 05/26 22:29
16F:→ yauhh:那我就觉得有趣了,你打算再待在网路呛几年?218.160.211.145 05/26 22:29
17F:→ yauhh:我很期待看中年的你仍在到处向人开刀,有趣了218.160.211.145 05/26 22:30
18F:→ kuso0516:战力惊人 122.125.36.13 05/26 23:17
19F:→ yauhh:一切都是自找的,你可以说我找骂挨,我也可以218.160.211.145 05/26 23:30
20F:→ yauhh:说你找战战. 但我觉得只爱负面的东西很无聊.218.160.211.145 05/26 23:31