У меня есть функция агрегации данных, которая собирает статистику из нескольких источников. Проблема заключается в том, что всякий раз, когда я добавляю новую метрику, мне нужно вручную обновить код в трех разных местах, что является подверженным ошибкам и трудно поддерживать.
Возможно, добавьте логику расчета, если это полученная метрика: stordataTa.repair_percent = ...
Это становится тремя со многими межответствующими, и я забывает. /> Есть ли способ реорганизовать этот код, чтобы быть более расширяемым и обслуживаемым? < /p>
У меня есть функция агрегации данных, которая собирает статистику из нескольких источников. Проблема заключается в том, что всякий раз, когда я добавляю новую метрику, мне нужно вручную обновить код в трех разных местах, что является подверженным ошибкам и трудно поддерживать.[code]// Part 1: Initialize data object const storeData = { collectors_count: 0, toys_count: 0, toys_inspected: 0, toys_cleaned: 0, inspection_percent: 0, cleaning_percent: 0, };
// Part 2: Accumulate data from each source for (const collector of collectors) { const details = await db.getCollectorDetails(collector.id);
[/code] [b] Проблема: [/b] [list] [*] Когда я хочу добавить новую метрику (например, toys_repaired ), я должен: [*] Добавить его к первоначальному объекту 0 [*] ancupat storedata.toys_repaired += details.repaired_count [*] Возможно, добавьте логику расчета, если это полученная метрика: stordataTa.repair_percent = ... [/list] Это становится тремя со многими межответствующими, и я забывает. /> Есть ли способ реорганизовать этот код, чтобы быть более расширяемым и обслуживаемым? < /p>