易语言吧 关注:266,659贴子:1,665,909
  • 20回复贴,共1

【转载】如何编写高质量的VB代码(易语言通用)

只看楼主收藏回复

1L度娘桑
授权图片~

2L正文~


IP属地:北京1楼2013-07-09 11:24回复
    2. 避免使用变体  
    对于一个VB程序员来说,这是再明显不过的事情了。变体类型的变量需要16个字节的空间来保存数据,而一个整数(Integer)只需要2个字节。通常使用变体类型的目的是为了减少设计的工作量和代码量,也有的程序员图个省事而使用它。但是如果一个软件经过了严格设计和按照规范编码的话,完全可以避免使用变体类型。  在这里顺带提一句,对于Object对象也存在同样的问题。请看下面的代码: Dim FSO
    Set FSO = New Scripting.FileSystemObject   或 Dim FSO as object
    Set FSO = New Scripting.FileSystemObject   上面的代码由于在申明的时候没有指定数据类型,在赋值时将浪费内存和CPU时间。正确的代码应该象下面这样: Dim FSO as New FileSystemObject
    3. 尽量避免使用属性 
    在平时的代码中,最常见的比较低效的代码就是在可以使用变量的情况下,反复使用属性(Property),尤其是在循环中。要知道存取变量的速度是存取属性的速度的20倍左右。下面这段代码是很多程序员在程序中会使用到的: Dim intCon as Integer
    For intCon = 0 to Ubound(SomVar())
    Text1.Text = Text1.Text & vbcrlf & SomeVar(intCon)
    Next intCon   下面这段代码的执行速度是上面代码的20倍。 Dim intCon as Integer
    Dim sOutput as String
    For intCon = 0 to Ubound(SomeVar())
    sOutput = sOutput & vbCrlf &
    SomeVar(intCon)
    Next
    Text1.Text = sOutput
    4. 尽量使用数组,避免使用集合
    除非你必须使用集合(Collection),否则你应该尽量使用数组。据测试,数组的存取速度可以达到集合的100倍。这个数字听起来有点骇人听闻,但是如果你考虑到集合是一个对象,你就会明白为什么差异会这么大。
    5. 展开小的循环体  
    在编码的时候,有可能遇到这种情况:一个循环体只会循环2到3次,而且循环体由几行代码组成。在这种情况下,你可以把循环展开。原因是循环会占用额外的CPU时间。但是如果循环比较复杂,你就没有必要这样做了。
    6. 避免使用很短的函数  
    和使用小的循环体相同,调用只有几行代码的函数也是不经济的--调用函数所花费的时间或许比执行函数中的代码需要更长的时间。在这种情况下,你可以把函数中的代码拷贝到原来调用函数的地方。
    7. 减少对子对象的引用  
    在VB中,通过使用.来实现对象的引用。例如: Form1.Text1.Text   在上面的例子中,程序引用了两个对象:Form1和Text1。利用这种方法引用效率很低。但遗憾的是,没有办法可以避免它。程序员唯一可以做就是使用With或者将用另一个对象保存子对象(Text1)。 ' 使用With
    With frmMain.Text1
    .Text = "Learn VB"
    .Alignment = 0
    .Tag = "Its my life"
    .BackColor = vbBlack
    .ForeColor = vbWhite
    End With   或者 ' 使用另一个对象保存子对象
    Dim txtTextBox as TextBox
    Set txtTextBox = frmMain.Text1
    TxtTextBox.Text = "Learn VB"
    TxtTextBox.Alignment = 0
    TxtTextBox.Tag = "Its my life"
    TxtTextBox.BackColor = vbBlack
    TxtTextBox.ForeColor = vbWhite   注意,上面提到的方法只适用于需要对一个对象的子对象进行操作的时候,下面这段代码是不正确的: With Text1
    .Text = "Learn VB"
    .Alignment = 0
    .Tag = "Its my life"
    .BackColor = vbBlack
    .ForeColor = vbWhite
    End With   很不幸的是,我们常常可以在实际的代码中发现类似于上面的代码。这样做只会使代码的执行速度更慢。原因是With块编译后会形成一个分枝,会增加了额外的处理工作。



    IP属地:北京本楼含有高级字体3楼2013-07-09 11:28
    回复
      PS:虽然可能看不太懂,但是VB语法和易语言是很相似的,大致看一看也能有所明了
      还是比较有用的! o(* ̄▽ ̄*)ブ


      IP属地:北京本楼含有高级字体6楼2013-07-09 11:30
      回复
        好森奥
        ┌——现在时间:————
        │2013年07月09日
        │12时30分29秒313毫秒
        └———————————————


        IP属地:陕西来自Android客户端8楼2013-07-09 12:30
        收起回复
          看不懂 路过顶一下
          ---------”我回来了”,他放下包,她躺在沙发上,一贯的优雅。“不辛苦的。”他从她明亮的双眼里看出她要说什么,而她,出生那天起就不能说话。“有你就够了。”他握住她的手,亲了亲她红扑扑的脸蛋。他搂了搂她,心中柔情似水。。。。
          “乖,我去吃面啦,吃完面就给你充气。”


          IP属地:陕西9楼2013-07-09 22:14
          收起回复
            刘明


            IP属地:四川来自手机贴吧10楼2013-07-10 08:58
            收起回复
              关键是看不懂英语…………


              IP属地:四川11楼2013-07-11 11:54
              收起回复
                这个老生常谈了


                12楼2013-07-11 22:55
                收起回复


                  IP属地:重庆13楼2013-07-11 23:03
                  收起回复
                    谢谢,~ 看了一下 以前绝对从来没见过这样的文章


                    14楼2018-08-16 08:10
                    收起回复