Actionscript 3 减少传递到函数中的参数数量的提示

Actionscript 3 减少传递到函数中的参数数量的提示,actionscript-3,coding-style,Actionscript 3,Coding Style,嗨 我正在从事一个AS3项目,最初是由其他人编写的。我正在写一个类中的函数。该函数创建一个简单的值对象,但该函数接受了16个参数,这是一个混乱 什么是一个好的方式来重新写这篇文章,使它看起来更整洁,更容易阅读 谢谢 Stephen或者,如果参数之间存在明显的关系,可以创建一个类。实例化类,填充值,然后传递对象 而不是 myfunc(p1, p2, p3, p4, p5, ..., p16); 你得到 c1 = new c1(); c1.p1 = val c1.p2 = val ... c1.p

我正在从事一个AS3项目,最初是由其他人编写的。我正在写一个类中的函数。该函数创建一个简单的值对象,但该函数接受了16个参数,这是一个混乱

什么是一个好的方式来重新写这篇文章,使它看起来更整洁,更容易阅读

谢谢


Stephen

或者,如果参数之间存在明显的关系,可以创建一个类。实例化类,填充值,然后传递对象

而不是

myfunc(p1, p2, p3, p4, p5, ..., p16);
你得到

c1 = new c1();
c1.p1 = val
c1.p2 = val
...
c1.p16 = val
然后你打电话

myfunc(c1);

我会选择以下几点:

  • 检查是否可以保留一些参数(不使用,重复,可以通过其他方式检索),对于16个参数,如果其中一些是冗余的,我不会感到惊讶
  • 检查某些参数是否在逻辑上相互连接。创建一个包含它们的对象可能是值得的。如果同一组参数也传递到其他函数,那么您就有了赢家
  • 检查类的设计,可能其中一些应该是类成员

  • 我会选择链接,传递设置了变量的匿名对象,比如:

    someFunction({id:1, pizzas:"1", types:["triple cheese"], location:"sun"});
    

    或者,正如有人提到的,根据您对代码的喜爱程度,对对象进行估价:)。

    如果不知道该代码的基本要素,很难说清楚。也许可以编写一个接受较少参数但调用该参数的包装器函数?您可以发布参数列表和函数功能的描述吗?由于参数太多,很有可能它试图处理太多,应该重新设计。也许函数做得太多了。尝试将其拆分为几个较小的函数。我相信这也会减少每个函数的参数数量。有时,这些类型的对象称为“值对象”,用于将数据从函数传递到函数或从类传递到类。我正在尝试创建一系列值对象(所有类型相同),然后将它们添加到ArrayCollection。所以我创建了一个返回value对象的函数,这个函数接受16个参数。