我创建一个函数(),但这个FUNC()越来越大,所以我需要把它分解成更小的部分。这里的例证:从函数到函数传递参数的最佳方式是什么?
def myfunc(x,y,z):
out=(x*y*z)+ val
return out
a,b,c=1,2,3
A=myfunc(a,b,c)
print A
让说,我想单独(分解)的(X * Y * Z)到另一个这样的功能:
def myotherfunc(x,y,z):
return x*y*z
def myfunc(x,y,z):
out=myotherfunc(x,y,z) + val
return out
这是一个简单的故障,但我有另外一个工作流程如下:
def myotherfunc(x,y,z)
return x*y*z
def myfunc(xx):
out=xx+val
return out
a,b,c=1,2,3
A=myfunc(myotherfunc(a,b,c))
print A
同样的结果,但对于更复杂的编程情况下,这是最好的工作流程?为什么?
这个问题并没有一个明确的答案。这将取决于实际情况。您应该始终采用最易读的方法(当然,保留,并且通常考虑更重要的其他设计方面)。换句话说,如果你离开你的代码并在一年后回来,那么最流行的流程是什么? (或者如果另一位程序员遇到它。) – Corbin
@Corbin Thanx的评论,实际上我是谁将要使用的代码,没有人。那么,我会考虑'可读'的东西。它有时候是新手,当我从头开始构建某些东西时,有些问题在代码变得越来越大之前是不可见的,而且在稍后的某个时刻,我发现我必须重新做任何事情 - 回去开始只是因为我发现我选择了'错误'的工作流程。感谢很多评论。 – andio
为了详细说明,通常函数的目的将决定如何使用和调用它,而不是“工作流”。你通常希望一个功能有1个责任。这通常会帮助您确定必须设计您的功能以及它们如何相互作用。 – Corbin