我正在构建一个从数据库中提取数据的服务,并提供计算和显示数据的方法和属性。
初始化时,数据存储在服务的属性中。它还包含一个循环数据的私有方法,计算具有特定属性的项目。
调用此私有方法时,我将数据作为参数传递:
myPrivateFunction(this.data);
但是,我考虑过重命名data
属性。这样做会迫使我在每次调用时重命名每个参数。 (假设我使用的IDE无法自动执行此操作)。
如果函数自己检索数据,我可以避免这种情况。然而,由于数据不属于私人方法的范围,因此实现这一目标的可能性较小。
我想知道是否有任何关于函数是否应该通过自身或参数检索数据的规则或约定?
答案 0 :(得分:0)
我更喜欢将数据作为参数传递,因为它清楚地说明了函数的功能,并且可以轻松跟踪数据流。我同意如果你添加一个新论点,可能很难维护所有这些论点。为了使更改更容易,您可以使用对象而不是参数列表。如果跨应用程序的多个层传递对象,此技术特别有用。然后,如果向对象添加新属性,则必须仅更改第一个和最后一个函数(在函数链中)。