问题描述
以下示例最能说明问题。哪个是标准(A)或(B)?
A)在每个嵌套函数中传递变量:def bar(X,y,n_rows,n_cols):
# Do stuff....
return stuff
def foo(X,n_cols):
stuff = bar(X,n_cols)
# Do stuff...
return stuff
B)调用每个嵌套函数中的O(1)函数:
def bar(X,y):
n_rows = get_number_of_rows(X) # X.shape[0]
n_cols = get_number_of_cols(X) # X.shape[1]
# Do stuff....
return stuff
def foo(X,y):
n_rows = get_number_of_rows(X) # X.shape[0]
n_cols = get_number_of_cols(X) # X.shape[1]
stuff = bar(X,y)
# Do stuff...
return stuff
将行数和列数传递给嵌套函数似乎有些冗长,但另一方面,保持设置变量的效率似乎很低。我甚至不太确定是否可以在恒定时间O(1)中获取行数和列数。我是用Python(实际上使用R)编写的,但我的目标是对这个问题进行足够的概括,使其可以应用于任何语言。
有用的链接:
Are there guidelines on how many parameters a function should accept?(建议将此对象设为避免使用多个参数的对象)
- 哪种可读性更好?
- 哪个表现更好?
- 我们应该以这种情况永远不会发生的方式进行编码吗?
- 不同语言的(1)和(2)答案是否会不同?
P.S。在命名此问题时需要一些帮助-不太冗长,更通用。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)