首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

可读性和简洁性以及效率,到底选择哪个?解决办法

2012-03-05 
可读性和简洁性以及效率,到底选择哪个?VB codeIf a b ThenisOk TrueElseisOk FalseEnd IfisOk IIf

可读性和简洁性以及效率,到底选择哪个?

VB code
If a = b Then    isOk = TrueElse    isOk = FalseEnd IfisOk = IIf(a = b, True, False)isOk = (a = b)


[解决办法]
isOk = (a = b) 这个好,不错!

每个人都有不同的编写习惯,如果你的代码需要别人阅读的话,最好还是再相应地方加上注释!

再者,看看你的客户要求或者软件的功能,如果客户没什么性能上的要求的话,当然是可读性越明显越好。
但是如果像楼主那样,在 If …… Then 之间只有一行代码的话,那可读性也不见得好到哪去。

如果客户或者软件的功能需要效率优先的话,估计VB也很难令人满意的(不是说它不好)~
[解决办法]
喜欢这种
isOk = IIf(a = b, True, False)

[解决办法]
推荐这种:isOk = (a = b)
[解决办法]
VB code
isOk = (a = b)
[解决办法]
isOk = (a = b)
推荐这个,简单明了
[解决办法]
我记得在很多地方听很多人说过,iif的效率是比if else低挺多的
[解决办法]
iif是效率最低的一种
大家可以测试:
IIf(treu, 1, 1/0)
无论条件是否true,都会测试后二项

VB中类似的函数还有 choose,switch...
[解决办法]
我选效率
[解决办法]
isOk = a Eqv b
这两天刚学到的运算符,这个应该是效率最高的
[解决办法]
试验了一下

If a = b Then '较快
isOk = True
Else
isOk = False
End If

isOk = IIf(a = b, True, False) '牛速,还是蜗牛

isOk = (a = b) '最快
isok=a eqv b '约等于最快的isOk = (a = b)
[解决办法]
在这个题中
写if then else的人要么是刚开始学, 要么就是长期习惯这样写却从来没思考过改进的懒人
写IIF的人,要么就是刚入门,觉得这样些就是比IF THEN ELSE更有面子,显得更专业
自然而然写成 isOk = (a = b) 的人是掌控编程精髓的人, 简明高效的思想早已深深的渗入骨髓之中.
所以才能不假思索的就能写出如同"轻轻的我走了,正如我轻轻的来..."一样的代码来咯.
[解决办法]
当然是可读性最重要。

简洁性也很重要,但是不如可读性重要,而且简洁的代码并不表示可执行代码也“简洁”。

至于效率,应该是最次要的,首先提高效率是硬件的事情,多年以来,软件的效率在降低,是靠硬件速度飞速提高才使得复杂的软件逻辑有了实用性。其次,不改变软件的设计思想,靠优化几句代码是提高不了多少效率的。

[解决办法]
探讨
写代码就该规规矩矩 该是什么代码就写成什么样子

[解决办法]
C/C++ code
/*Line:61*/BOOL bTest = false;/*Line:62*/int iTest1 = 100;/*Line:63*/int iTest2 = 1000;/*Line:65*/bTest = (iTest1 == iTest2);/*Line:67*/if (iTest1 == iTest2)/*Line:68*/    bTest = true;/*Line:69*/else/*Line:70*/    bTest = false; 

热点排行