我多次阅读以下句子:“变量应该被赋予最小范围”。真?
通常情况下,变量应给予最小范围。
看到使用可变num
在以下情况:
Private num As Integer
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
'Your code where num is initialized and used
End Sub
或者:
Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
Dim num As Integer
'Your code where num is initialized and used
End Sub
裸记住,Timer_Tick
是一个循环计时器,因此在第一个场景num
只声明一次,而在第二种情况下,每当计时器滴答时声明它。
第一个用法在代码执行速度方面真的不同吗?哪一个更有效?关于这些例子,所引用的句子在多大程度上正确地忽略了可读性偏好?
我相信如果代码中有大量的迭代和循环,第二种情况会对第一种情况有一定的性能影响。
我希望可读性和错误率低于声明一次(如果有)的任何小好处。将它声明为尽可能接近你使用它的地方(在这里的'Tick'事件中),在你修改代码时会更容易找到它,并且在它之外的其他地方意外更改它的机会更少'Tick'事件。 –
是的,第二种选择更好。这是一个计算机科学101的东西。课程编号为COMP 170,18年前,我还记得我的教授贝尔德博士解释它(尽管不是真正的词语或推理......只是这是更好的选择)。但是,简而言之,它允许更快地收集内存,防止意外泄漏不良状态,帮助您避免名称空间中的混乱,因此重要的事情突出,将名称和类型放在更接近它们的用途,以便更容易修改和推理。我可以继续。 –
@GrantWinney你是对的,但我没有考虑速度和性能的可读性问题。 –