Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用映射使JavaScript对象成员值更具可读性_Javascript_Mapping_Analytics - Fatal编程技术网

使用映射使JavaScript对象成员值更具可读性

使用映射使JavaScript对象成员值更具可读性,javascript,mapping,analytics,Javascript,Mapping,Analytics,所以我有一个全真的物体。它叫s s 在s中,我们跟踪一系列的信息,包括“道具”和“规避物” 我们选择分配哪些属性变量和evar,取决于我们跟踪的页面。 例如,在主页上,我们可能希望跟踪prop5、prop6和evar2,但在注册页面上,我们可能希望跟踪prop4、prop5、prop9、prop10、evar4、evar5。情况各不相同 每个变量和每个道具代表某种关键分析信息 现在,尽管这个解决方案并不理想,因为道具可以混合在一起,但我们有一个主列表,我们在内部保存,解释哪个变量代表什么 pr

所以我有一个全真的物体。它叫s

s
在s中,我们跟踪一系列的信息,包括“道具”和“规避物”

我们选择分配哪些属性变量和evar,取决于我们跟踪的页面。 例如,在主页上,我们可能希望跟踪prop5、prop6和evar2,但在注册页面上,我们可能希望跟踪prop4、prop5、prop9、prop10、evar4、evar5。情况各不相同

每个变量和每个道具代表某种关键分析信息

现在,尽管这个解决方案并不理想,因为道具可以混合在一起,但我们有一个主列表,我们在内部保存,解释哪个变量代表什么

prop5表示“页面名称”

prop6表示“页面类别”

(等等)

现在,这很好,并且工作得很好,但是我们经常必须将代码传递给第三方,以便他们可以自己分配值。我们可能会有第三方创建一个页面,我们希望对其进行分析,但我们需要他们能够获得适当的信息进行跟踪。为了使它更具可读性,我们正在考虑实现一些映射代码

companyName.pageName = 'This is the page name'
companyName.contentType = 'This is the content type'
companyName.campaignId  = 'This is the campaign ID'
这更具可读性。然后,我们将遍历“companyName”对象,并在适当的地方将每个值赋回“s”


你们觉得怎么样?这是一个好的做法吗?

老实说,我不明白为什么要首先使用神秘的属性名。为什么不在内部使用您将提供给第三方的名称呢。这难道不会让你的生活更轻松吗?

老实说,我不明白你为什么要首先使用神秘的财产名称。为什么不在内部使用您将提供给第三方的名称呢。这难道不会让你的生活更轻松吗?

+1。根本没有理由使用这样难以理解的名字。对“道具”和“eVariables”(不管它们是什么)的引用表明,这种做法与生成无关系统数据结构中数据类型的表示有关,而不是这些数据所表示的内容。获取一些语义:-)哦,我多么希望这是可能的!不幸的是,这不是我们的代码,而是最近被Adobe收购的分析公司Omniture。我们最终需要使用“s”对象,并且需要相应地命名成员变量。我的问题是,为了提高可读性,增加抽象层值得吗?我很欣赏这种热情,但你能详细说明一下吗?它的好处似乎是可读性,缺点是它引入了一个完整的其他场合来引入错误。我建议使用不同的分析公司,如果这是他们的系统抛出的垃圾。如果这是不可能的,你肯定应该在你的系统和它们的crud之间创建一个额外的层来提供一些含义(并且,假设是,当换一种方式时,将含义去掉)。omniture是一个企业级的跟踪和分析工具,几乎所有真正认真对待这类事情的人都会使用它。变量名称含糊不清的原因是您定义了它们的含义。您决定s.propX应表示xyz,并在Site Catalyst中对其进行标记,该标签将显示在报告中。然后,将功能规范文件(FSD)放在一起,以记录每个道具和评估的含义、使用时间和地点、填充值/格式等。。你把消防局交给必要的人。根本没有理由使用这样难以理解的名字。对“道具”和“eVariables”(不管它们是什么)的引用表明,这种做法与生成无关系统数据结构中数据类型的表示有关,而不是这些数据所表示的内容。获取一些语义:-)哦,我多么希望这是可能的!不幸的是,这不是我们的代码,而是最近被Adobe收购的分析公司Omniture。我们最终需要使用“s”对象,并且需要相应地命名成员变量。我的问题是,为了提高可读性,增加抽象层值得吗?我很欣赏这种热情,但你能详细说明一下吗?它的好处似乎是可读性,缺点是它引入了一个完整的其他场合来引入错误。我建议使用不同的分析公司,如果这是他们的系统抛出的垃圾。如果这是不可能的,你肯定应该在你的系统和它们的crud之间创建一个额外的层来提供一些含义(并且,假设是,当换一种方式时,将含义去掉)。omniture是一个企业级的跟踪和分析工具,几乎所有真正认真对待这类事情的人都会使用它。变量名称含糊不清的原因是您定义了它们的含义。您决定s.propX应表示xyz,并在Site Catalyst中对其进行标记,该标签将显示在报告中。然后,将功能规范文件(FSD)放在一起,以记录每个道具和评估的含义、使用时间和地点、填充值/格式等。。你把FSD交给必要的人。还有一件事要补充——这值得吗?与它带来的错误机会相比?与人们必须查看列表才能确定“prop5”是指“pageName”;-)所导致的错误机会相反还有一件事需要补充——与它带来的错误机会相比,这值得吗?与人们必须查看列表以确定“prop5”表示“pageName”所导致的错误机会相反?;-)
companyName.pageName = 'This is the page name'
companyName.contentType = 'This is the content type'
companyName.campaignId  = 'This is the campaign ID'