以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何精简代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=88884) |
-- 作者:hbhb -- 发布时间:2016/8/10 22:31:00 -- 如何精简代码 大师:实现一个功能就写了2000行代码,怎么人家几行代码就好了,什么情况?究竟怎么精简? 比如,有个判断。 第一种写法: for each a as string in 集合 一段代码 next if 变量 = a then 一段代码 elseif 变量 = b then 一段代码 end if 第二种写法: if 变量 = a then for each a as string in 集合 一段代码 next 一段代码 elseif 变量 = b then for each a as string in 集合 一段代码 next 一段代码 end if 请问两种写法,第二种写法有何不妥?
|
-- 作者:大红袍 -- 发布时间:2016/8/10 22:36:00 -- 呃,如果处理是一样的,可以提前出来写成循环啊。如果是不同的代码,肯定不能精简。 |
-- 作者:hbhb -- 发布时间:2016/8/10 22:50:00 -- 那代码肯定有部分是相同的,抽取出来,也够烦的? |
-- 作者:大红袍 -- 发布时间:2016/8/10 22:52:00 -- 如果不是大部分相同,就不需要抽取。 |
-- 作者:hbhb -- 发布时间:2016/8/10 22:56:00 -- 那代码量是不是不好?不是说越精简越好吗? |
-- 作者:大红袍 -- 发布时间:2016/8/10 23:04:00 -- 以下是引用hbhb在2016/8/10 22:56:00的发言:
那代码量是不是不好?不是说越精简越好吗?
不是越精简越好,是能精简的才精简,不能的,也没办法啊。要看实际问题 |
-- 作者:hbhb -- 发布时间:2016/8/10 23:19:00 -- dim tb as table = tables("表a") 代码中我不用tb变量,直接用tables("表a"),这样看的清楚,有无影响。字符量是不是大?
|
-- 作者:Hyphen -- 发布时间:2016/8/11 8:40:00 -- 如果有多处用到tables("表a"),那么还是定义成变量使用,看似代码量是省了,实际上效率却低了。 因为tables("表a")每次都要到tables集合中查找名叫"表a"的表,表数量越多查找消耗越大。 代码精简不等于效率高!!相反有时为了提高效率往往要写多几行代码。
|
-- 作者:jspta -- 发布时间:2016/8/11 8:54:00 -- 只要你的代码里存在大量的复制黏贴,并且仅仅是为了修改几个变量,那么你的代码就需要提取和优化。 另一种优化就是,你逻辑要正确,可以节约很多代码
|
-- 作者:lihe60 -- 发布时间:2016/8/11 15:36:00 -- 上个例子。不应该有么多的代码 |