给函数附加参数还是使参数静态更好?

时间:2019-05-24 03:14:02

标签: coding-style

很多次,我遇到多次调用一个方法的情况,而一个参数总是完全相同,并且需要在我的main方法中添加一些其他参数。我永远不确定该如何处理附加参数。似乎最好将参数设为静态以使代码更整洁,但是静态变量不是很好。尽管如此,添加参数在某些情况下仍可能导致很长的参数列表,而这些列表在某种程度上是不必要的,而且我认为当函数较短,经常调用且具有很多参数的函数时,也会带来速度劣势。

这是让我考虑这个问题的最新代码(kotlin),但是我用不同的语言遇到了很多问题。

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

将父对象设为静态变量,而不将其作为方法的参数更好吗? (假设每次调用此方法时,第二个参数都将相同。我通常只编写100个简短的行代码文件以进行竞争性编程,因此该方法将不可能与其他第二个参数一起被重用) / p>

2 个答案:

答案 0 :(得分:0)

我认为,这取决于您喜欢的编码范例。例如,如果您希望代码符合功能范式,那么您的代码现在就很好(关于参数),但是,如果您不关心功能编程,请提取该参数,因为常量是可以的。我认为没有理由要它坏。如果您担心性能,可以将其声明为懒惰,但我想它还可以。

答案 1 :(得分:0)

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