对象成员函数与对象作为参数——缩进问题

问题描述 投票:0回答:0

我在使用从供应商那里继承的 ES3 的 BIRT 环境中工作。我们正在推动升级,但我不确定我们会得到它哈哈。

无论如何,我正在尝试清理 NexusIQ 在“ES3 允许的最佳方式”中抛出的所有代码问题。主要问题是 .js 文件中的许多函数是在没有参数的情况下定义的——它们只是作用于 .rptdesign 中定义的变量,就好像它们是全局的一样。代码“有效”但 NexusIQ 抱怨,因为 .js 文件实际上从未定义变量......我想解决这些问题,因为它看起来确实是不好的做法。

我们的数据是一个“大对象”,其属性映射到较低级别的对象。最低层为 5 层深。我想创建“过滤对象”以仅从大对象中提取整个 .js 文件中所需的数据。所需的数据可以来自任何级别(除了较低嵌套的对象之外,每个级别都存储一些更简单的数据)。

模块在我看来是最好的方式,但是,唉,我缺少 ES3 中的模块。它们似乎非常适合文件之间所需的共享……

目前,.js 文件中的每个函数至少有 5 个参数,但有时多达 15 个。 我不喜欢在调用函数时阅读所有这些参数,尤其是因为通常这些函数至少作用于3 个完全相同的参数,有时更多。 **在我看来,具有成员函数的对象是处理这么多“多次使用的参数”的方法。 ** 但是,我主要关心的是缩进。 在我目前的想法中,这些过滤对象中的成员函数已经从 2 层开始——我有一个接受“大对象”的过滤函数,并且这个函数在内部创建一个对象包含所有想要的属性+成员函数。

只是看一下,我宁愿让我的所有成员函数都缩进 0,只将“过滤对象”作为参数。但是每个函数都使用相同的对象,所以它们应该只是成员函数。

我对缩进很奇怪吗?在对象内取消缩进所有成员函数真的好吗?你会如何处理这种情况?在 ES3 中有没有更好的方法来处理这样的数据?

object indentation hierarchy ecmascript-3
© www.soinside.com 2019 - 2024. All rights reserved.