我在另一个类文件中有一个函数可以获取有关电池的信息。在表单中,我有以下代码:
If BatteryClass.getStatus_Battery_Charging = True Then
Visual Studio似乎接受了这一点。但是,如果我使用以下代码也会更好,这也适用:
dim val as boolean = BatteryClass.getStatus_Battery_Charging
If val = True Then
这两种方法有区别吗?
答案 0 :(得分:4)
没有真正的区别。
如果您当然需要再次获得该值,则第二个更好。当您将值存储在变量中时,调试也会稍微容易一些。
就个人而言,我倾向于使用第一个,因为我是一名老学校的C程序员!
答案 1 :(得分:4)
您通常会问的是哪种方法是惯用的。
技术规则不是多次调用方法 - 除非您专门检查变量的volatile值 - 当其结果可以保存在本地范围的变量中时。这不是你要求的,但重要的是理解多个调用通常应绑定到变量。
据说,只要这样做可以提高代码的可读性,就可以更好地从维护角度生成更少的代码行。如果必须声明一个本地范围的变量来保存方法的返回值,请确保为变量赋予一个有意义的名称。
首选[惯用VB.NET]一个班轮:
If BatteryClass.getStatus_Battery_Charging Then
对此:
Dim isBatteryCharging As Boolean = BatteryClass.getStatus_Battery_Charging
If isBatteryCharging Then
您应该关注的另一点是方法,在调用时,会产生影响程序状态的副作用。在大多数情况下,不希望多次调用引起副作用的方法 - 在可能的情况下重写这样的副作用方法,以便它们不会引起任何副作用。要限制副作用发生的次数,请使用相同的局部变量作用域规则,而不是执行方法的多次调用。