gpt4 book ai didi

function - Scala 风格 : how far to nest functions?

转载 作者:行者123 更新时间:2023-12-04 16:35:20 24 4
gpt4 key购买 nike

Scala 的优点之一是它使您可以很好地控制范围。你可以嵌套
像这样的功能:

def fn1 = {
def fn11 = {
...
}
def fn12 = {
...
def fn121 = {
...
}
}
...
def fn13 = {
...
}
}

这里的问题是 fn1 可能开始看起来有点吓人。来自 Java 背景,我们建议保持函数足够小,以便在 IDE 的单个“页面”上查看。

基于以下推理,您会如何考虑将 fn12 从 fn1 中取出:“它现在仅用于 fn1,但它可能会在以后类里面的其他地方有用……”

此外,您是否会偏好放置嵌套函数的位置 - 在调用它们的代码之前还是之后?

最佳答案

一般来说,我在实际代码中看不到那么多嵌套的函数。它违背了保持方法简单和简洁的精神。这种嵌套主要用于闭包,在这种情况下您将使用外部作用域的一些参数(例如递归函数的内部循环),因此它比在外部声明它并且必须明确地重新传递这些参数更干净。

您必须将嵌套函数放在调用它们的代码之前,否则它是一个前向引用并且不会编译。 (在对象/类中,您可以将它们放在后面,但不能放在方法中。)

关于function - Scala 风格 : how far to nest functions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11386346/

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