我的一位同事一直在阅读罗伯特·C·马丁的"清洁代码",并参加了关于使用许多小功能而不是减少大功能的部分.这引发了关于这种方法的性能后果的争论.因此,我们编写了一个快速程序来测试性能,并对结果感到困惑.
对于初学者来说,这是该功能的正常版本.
static double NormalFunction()
{
double a = 0;
for (int j = 0; j < s_OuterLoopCount; ++j)
{
for (int i = 0; i < s_InnerLoopCount; ++i)
{
double b = i * 2;
a = a + b + 1;
}
}
return a;
}
Run Code Online (Sandbox Code Playgroud)
这是我制作的版本将功能分解为小功能.
static double TinyFunctions()
{
double a = 0;
for (int i = 0; i < s_OuterLoopCount; i++)
{
a = Loop(a);
}
return a;
}
static double Loop(double a)
{
for …Run Code Online (Sandbox Code Playgroud)