代码行数 VS 指令数

Number of lines of code VS Number of instructions

我想知道在计算机科学中是否有关于当 2 向不同方向拉动时是否支持代码行数或指令数的最佳实践?

示例 1:下面的代码行数较少,但 if 是针对每个 g 评估的,而它们不依赖于 g。

For g = 0 To UBound(myRegions)
    If Cells(2, j) = "" And Cells(myRowToBeAllocated, 4 + j) <> 0 Then
        Cells(2, g) = Worksheet("Test").Cells(k, q)
    ElseIf Cells(myRowToBeAllocated, 4 + j) <> 0 Then
        Cells(2, g) = Worksheet("Test").Cells(2 * k, q / 2)
    End If
Next g

示例 2:下面的代码有更多的行,但是没有为每个 g 评估 ifs,因此下面导致计算执行的指令更少。

If Cells(2, j) = "" And Cells(myRowToBeAllocated, 4 + j) <> 0 Then
    For g = 0 To UBound(myRegions)
        Cells(2, g) = Worksheet("Test").Cells(k, q)
    Next g
ElseIf Cells(myRowToBeAllocated, 4 + j) <> 0 Then
    For g = 0 To UBound(myRegions)
        Cells(2, g) = Worksheet("Test").Cells(2 * k, q / 2)
    Next g
End If

问题是:关于哪个最好,是否有最佳实践?

如果我没理解错的话,您是在将计算速度与可读性放在一起。在那种情况下,实际上并没有最佳实践,因为这取决于具体情况:对于必须尽可能高效 运行 的小程序,我会选择选项 2,因为它对速度至关重要。对于其他一切(对于现代、快速的计算机来说主要是这种情况),我不会在速度优化上投入精力,直到它确实是一个问题。更重要的是代码的可读性和可维护性。试图理解一些 运行s 快速的丑陋代码所需的工作时间比一些硬件升级以使代码执行速度更快所花费的时间要昂贵得多。