gpt4 book ai didi

language-agnostic - 递归函数 - 两个函数或最后一个可选参数

转载 作者:行者123 更新时间:2023-12-02 07:42:57 25 4
gpt4 key购买 nike

在编写递归函数时,有时会发生某些事情只应在递归算法的第一次通过时发生。如果这是真的,我有两个选择,

  • 有一个名为“first run”的可选参数,默认情况下设置为 true,但在递归调用时,该参数为 false
  • 有两个功能

  • 哪个选项更可取?如果是后者,我应该如何命名这些函数? (例如,如果是洪水填充算法,我会选择 FloodFillFloodFillRecursive 吗?)

    提前致谢,嗯。

    最佳答案

    我可能会使用两个函数,我会说将要调用的函数应该命名为 FloodFill : 用户不需要知道该函数是如何实现的,因此不应将其命名为 FloodFillRecursive .

    其实,FloodFillRecursive可能是内部函数的名称:包含实现的函数,由用户调用的函数调用的函数——因为它是递归的第二个函数。
    理想情况下,该函数不应该对用户可见:它应该隐藏在您的库中(无论是真正隐藏,还是使用一些命名约定告诉用户他们不应该直接调用它)。

    而且,这样,如果您更改实现,您将不会让您的用户调用 FloodFillRecursive可能不再递归的函数。

    关于language-agnostic - 递归函数 - 两个函数或最后一个可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9243646/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com