代码之家  ›  专栏  ›  技术社区  ›  Zack Burt

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

  •  0
  • Zack Burt  · 技术社区  · 16 年前

    所以我有这个无所不知的东西。这叫做S。

    s
    

    在S中,我们跟踪大量的信息,在“道具”和“评估”中。

    s.prop5  = 'foo'
    s.prop22 = 'baz'
    s.var6   = 'bar'
    

    哪些属性变量和我们选择分配哪些评估,取决于我们跟踪的是哪个页面。 例如,在主页上,我们可能希望跟踪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 回复  |  直到 16 年前
        1
  •  3
  •   Craig McQueen    16 年前

    老实说,我不明白你为什么一开始就使用神秘的财产名称。为什么不在内部使用你给第三方的名字呢?这不是让你的生活更轻松吗?