给函数一个附加参数或使参数静态更好



很多次我遇到了一种情况,我多次调用一个方法,一个参数总是完全相同的,我需要添加一些在我的主要方法中定义的其他参数。我永远不确定该如何处理其他参数。使参数静态以使代码更清洁似乎是一个更好的主意,但是静态变量不是很好。尽管如此,在某些情况下,添加参数可能会导致很长的参数列表,这些参数以某种不必要的方式列出,并且我认为当您的功能短,经常调用并且有很多参数时,速度劣势也将存在速度劣势。

这是我考虑了这个问题的最新代码(Kotlin(,但是我已经以不同的语言遇到了很多问题。

tailrec fun getAncestor(ind: Int, parent: IntArray): Int {
        if (parent[ind] == ind) return ind else return getAncestor(parent[ind], parent);
}

使父级成为静态变量而不是该方法的参数更好吗?(假设每次调用此方法时,第二个参数都相同。我通常只编写简短的100行代码文件以进行竞争编程,因此没有机会使用其他第二个参数重复使用该方法(

通常,如果您正在从事一个项目,则需要远离静态变量,因为当项目开始扩大规模并越来越大时,很难很难跟踪静态变量,这将使很难调试。在竞争性编程中,我建议使用更快的方法。

在我看来,这取决于您首选的编码范式。例如,如果您希望代码符合功能范式,那么您的代码现在很好(关于参数(,但是,如果您不关心功能编程,则该参数已提取出来,作为常数是可以的。我认为没有理由应该很糟糕。如果您担心性能,可以将其声明为懒惰,但否则我想可以。

最新更新