Code Brain"Teaser" - 但不是真的

sla*_*dau 3 pseudocode

我很想知道你们对此的看法.我听到办公室周围传来一堆答案,我想看看你们是否可能有更好的答案.

题:

您有两个功能如下:

function one()
{
    A();
    B();
    C();
}

function two()
{
    A();
    D();
    C();
}
Run Code Online (Sandbox Code Playgroud)

你会如何重写这个(任何重要的,你可以创建类,变量,其他方法,任何东西),以减少代码重复?

每个调用的方法都会更改其他函数需要使用的变量.方法已经定义了A()B()和C().

Ber*_*ann 6

这里没有代码重复.看起来很好.


Dav*_*tka 6

并非所有语言都支持这种方法,并且传递函数的语法可能会有所不同,但概念可能是:

function one()
{
    refactored(B);
}

function two()
{
    refactored(D);
}

function refactored(middleMan)
{
    A();
    middleMan();
    C();
}
Run Code Online (Sandbox Code Playgroud)