我有一个与此类似的功能:
public sub TestFunction() As Boolean
On Error GoTo NewError:
Dim testObject As New TestObject
For TestVaiable 0 to 1000
TestObject.TestMethod(TestVariable)
Next
TestFunction = True
Exit function
NewError:
TestFunction = False
End Function
我有两个问题: 1)在循环中重复使用对象是不好的做法吗?我不这么认为 2)如果出现错误,返回布尔值(false)是不好的做法吗?
答案 0 :(得分:1)
在循环中重用变量是个好习惯。
最好重复使用一个对象,该对象要么在整个循环中处于相同的状态,要么有一个非常简单的变化,它与循环的本质明确相关。
以这样的方式重用一个对象是不好的做法,这样就很难看到它正在发生什么。
最好从Sub或Function快速返回。在VB中有一种迷信,即早期返回来自与其无关的其他语言,这类计算机相当于人们认为你不应该用英语分割不定式因为你不能拉丁语。这是无稽之谈。
当您遇到错误时从Sub或Function返回是不好的做法,没有任何进一步的处理,除非由于某种原因您可以在少于约200个字符的简短评论中解释这是最明智的做法。
不要将不到200个字符的注释放入解释为什么在发生错误时才能返回是不好的做法。