Делаем значения членов объекта JavaScript более читабельными с помощью карты
-
16-09-2019 - |
Вопрос
Итак, у меня есть объект Omniture.Это называется с.
s
Внутри s мы отслеживаем кучу информации внутри «props» и «eVariables».
s.prop5 = 'foo'
s.prop22 = 'baz'
s.var6 = 'bar'
Какие переменные prop и какие evars мы решим назначить, зависит от того, какую страницу мы отслеживаем.Например, на домашней странице мы можем захотеть отслеживать 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», где это необходимо.
Ребята, что вы думаете?Будет ли это хорошей практикой?
Решение
Честно говоря, я не понимаю, зачем вообще использовать загадочные имена свойств.Почему бы не использовать имена, которые вы бы дали третьим лицам, и внутри компании.Разве это не облегчит вам жизнь?