Ответ 1
Моя рекомендация состояла бы в том, чтобы иметь один большой signal.eventConstants. Это цель, единственная цель которой состоит в том, чтобы содержать список строк, которые помещаются в подписчик или издатель, как вещь, которую вы публикуете или подписываете.
Итак, вместо того, чтобы делать
vent.on("search:start", function() {...});
vent.trigger("search:start");
Вы бы сделали
vent.on(signals.eventConstants.searchStart, function() {...});
vent.trigger(signals.eventConstants.searchStart);
Затем у вас есть одно центральное место, где вы можете проверить все ваши темы публикации/подписки, и если вы хотите изменить их имя или добавить более позднее, у вас есть одно место для проверки, чтобы вы не создавали идентичные трансляции.
Внутри сигналов .eventConstants вы также можете документировать назначение каждого сигнала с комментариями.
Итак, у вас есть что-то вроде
//This broadcast will fire when a search is started