最佳实践与流过传递多个共享参数
3视图(30天)
显示旧的评论
这是有点一般但特定于MATLAB编程。我有一堆的功能除了少数例外包括必需的参数和1或更多的“参数”,“价值”对采用变长度输入宗量,inputParser addRequired, addParameter。碰巧,代码气球现在我必须处理大量的冗余代码和低效的调试。
例如我有函数“fA”将向量或矩阵v1和v2输出一些默认的计算,但我可以覆盖其中的一些参数。同样我有函数“facebook”,它与不同的参数去v2 - - > v3。所以这些工作:
fA (1:5)
fA ([1 9;4 5],“乘数”,2)
fB (7 9 [3])
fB ([3 7 9],“OutputAsInteger”,真的,“指数”,1)
但是,我也实现方便包装fC,直接从v1 - - > v3。事情变得太复杂,之前我有它解析所有3输入,但是大部分通过他们通过变长度输入宗量提供或违约{:}。这需要我来编辑fA接受两个参数和fB接受“广场”。我使用解析器的转向
KeepUnmatched = true
财产和传递,因此避免了崩溃更好,但仍很难调试任何更改。
是什么最好的方式来处理这种在这三个功能,并扩展到几十个类似的功能?我想我可以工作一般结构()对象,传递给每一个函数只接受他们所需要的值,但这是最好的方法吗?