首页 新闻 赞助 找找看

那种写法更好,为什么,欢迎讨论。

0
[已解决问题] 解决于 2011-02-22 12:49

//eg1

public void OneMethod(bool booleanVar)
{
if (booleanVar)
{
DoSomeThing();
//....
return;
}
DoOtherThing();
//...
}

//eg2

 

public void OneMethod(bool booleanVar)
{
if (booleanVar)
{
DoSomeThing();
//....
}
else
{
DoOtherThing();
//...
}
}

 

Firen的主页 Firen | 大侠五级 | 园豆:5385
提问于:2011-01-28 22:37
< >
分享
最佳答案
0

理论上来说,后者更好些。因为符合只有一个出口的结构化程序设计原则。很学院派

但在现实中前者的结构更简单些,也很常用。尤其是在存在多种判断的情况下,我更喜欢前者

garbageMan | 菜鸟二级 |园豆:313 | 2011-01-29 08:29
其他回答(9)
0

根据团队的规则来就行,没有规则的话就随机选择一种作为日后的规则

反正在编译完成后是一样的东西,只要全团队统一就成

Gray Zhang | 园豆:17610 (专家六级) | 2011-01-29 13:15
0

当然是前者了。

金色海洋(jyk) | 园豆:290 (菜鸟二级) | 2011-01-29 21:53
0

编译后的东西是不是一样呢?如果一样,我觉得RunTime做分支预测的时候,后者会更容易。

沉默的糕点 | 园豆:1786 (小虾三级) | 2011-01-30 12:50
0

个人认为是前者。。。。。

冰 鱼 | 园豆:282 (菜鸟二级) | 2011-01-30 13:16
0

我也认为是前者,性能上不差多少,但是后者易读。

Astar | 园豆:40805 (高人七级) | 2011-01-31 14:57
0

后面的依读一点

验证码识别 | 园豆:260 (菜鸟二级) | 2011-02-08 14:51
0

后者可读性更好。

编译后的代码是一样的,性能方面没差别。

退一步来说:就算后者性能差一点(只要不致命),也是第一选择。

个人认为,可维护性比性能更重要点,尤其大系统大团队开发。


海华 | 园豆:205 (菜鸟二级) | 2011-02-12 17:01
0

看个人的喜好,不过我还是赞成使用后者!

後浪 | 园豆:830 (小虾三级) | 2011-02-17 14:28
0

看具体应用情况,如果if过多,使用前者美化程序格式是一个不错的选择.否则,就像看程序代码做得和丘陵一样,累眼.

醉卧天南 | 园豆:369 (菜鸟二级) | 2011-04-19 11:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册