具体到编程世界,"海龟一路走下去"是什么意思?

Mar*_*tto 9 idioms phrase

我经常听到这句话,并不完全理解它的含义.这是什么意思?如果可能的话,有一个例子吗?

谢谢!

Mar*_*ers 12

此表达式的一个用法是指一种编程风格,其中存在非常深的调用堆栈.您可能会看到一个调用的方法,Grobble并想知道它的作用,因此您打开定义并看到:

class FooHandler
{
    void Grobble(Foo foo)
    {
        foo.Grobble();
    }
}
Run Code Online (Sandbox Code Playgroud)

那么你看看Foo.Grobble:

class Foo
{
    FooImpl _fooImpl;

    void Grobble()
    {
        _fooImpl.Grobble();
    }
}
Run Code Online (Sandbox Code Playgroud)

这也是你的FooImpl看法:

class FooImpl
{
    void Grobble()
    {
        this.Grobble(false);
    }

    // etc...
}
Run Code Online (Sandbox Code Playgroud)

在深入研究代码之后,仍然无法看到结束,你被允许沮丧地惊呼"这是乌龟一路下来!"

引用的是地球在乌龟背上的比喻.乌龟站在什么地方?另一只乌龟...等

  • 好吧,知道这一点,知道遗留代码我已经花了2年时间......我已经错过了至少100个机会来惊叹这句话! (3认同)

Ada*_*m B 5

这通常是指自托管编程语言,其中解释器或编译器是用被解释/编译的相同语言编写的。它还可以引用用语言本身编写的语言的库。

Smalltalk 和 Lisp 以这种东西而闻名。