我正在编写一个程序,该程序根据文档所属的组来切换报告信息的某些部分。因此,有很多if语句。很多。
现在我一直在想哪种方法更好:
If documentGroup = "34" Then
fillThisInfo
End If
"Here is text that's part of every document."
If documentGroup = "34" And documentID = "C321" Then
fillThisInfoInToo
End If
或
If documentGroup = "34" Then
fillThisInfo + "Here is text that's part of every document."
If documentID = "C321" Then
fillThisInfoInToo
End If
End If
我想知道,这在性能方面是更糟糕的:在代码中重复并因此添加更多数据,还是使用多个if语句并尝试“回收”尽可能多的数据?
答案 0 :(得分:1)
忘记性能:这些事情发生得如此之快,以至于您必须迭代一百万次才能看到差异。访问Office对象的速度很慢,但是内存中的内容通常不会立即执行。
您应该关心的是代码的可读性和可维护性。遵循具有多个If
或if中是否包含if的代码逻辑是否更容易?
请注意不要在程序中两次输入相同的代码。例如,在第二版中,您可能需要else
写出“这里是每个文档的一部分。” 信息,如果您不在34
情况下。 -尽可能避免这种情况。
我强烈建议您摆脱这些魔术数字(例如"34"
)。用有意义的名称定义一个常量:Const MySpecialDocumentGroup = "34"
。并且:缩进您的代码!在第二个示例中,您在If
中有一个If
-使用另一个选项卡使对fillThisInfoInToo
的呼叫缩进。