如果有一个过程是
private sub command1_click()
select Integer变量
    case 1
        过程1
    case 2
        过程2
    case 3
        过程3
    ……
    case 9
        过程9
end sub
这个过程共300多行事项上面一样写成一个好呢 还是把每个小过程都写成
private sub guocheng1()
……
end sub
然后再把主过程写成
private sub command1_click()
select Integer变量
    case 1
        call guocheng1
    case 2
        call guocheng2
    case 3
        call guocheng3
    ……
    case 9
        call guocheng9
end sub哪一种写法比较好啊 整个过程要300多行啊

解决方案 »

  1.   

    如果guochengn()满足如下条件之一,就提取出来单独写成过程:(1)其他地方还会用到guochengn()
    (2)或者,guochengn()包含很复杂的逻辑,单独提取出来,有助于让主调用函数显得逻辑清晰。
      

  2.   

    从语言结构上说用switch 的味道本身就不好,一般这样的话我就用委托之类的先把过程封装了然后做委托不过vb6没有的情况下,我记得可以用addressof做委托http://bbs.pfan.cn/showbbs.asp?id=311107&read=df用一个dic做hash,这样只需要配置一下,再运行....这样的代码令人欣赏
      

  3.   

    建议尽量避免编写过大的函数,可以把每个功能都放到函数中.
    VB6有CallByName,可以用dictionay存储ID和函数名的对照表;
    然后通过查表并CallByName调用相应功能.
    这个对照表甚至可以用文件的形式来保存.