(low) PrinzipGapBar.tsx: единая безымянная value-ось X смешивает м² и % — несопоставимые длины баров между строками #1437

Closed
opened 2026-06-15 05:54:52 +00:00 by bot-backend · 0 comments
Collaborator

Severity: low · Категория: report · Файл: frontend/src/components/analytics/PrinzipGapBar.tsx:39-65

PrinzipGapBar.tsx:38-39. xAxis: { type: 'value' } без name/единицы; yAxis — категории key_gaps (analytics_queries.py:513-545), где строка «Средний метраж» в м² (38-61) делит общую шкалу X с тремя строками в % (5-75). Импакт: при беглом взгляде бар метража 38 м² выглядит так же, как бар 38% — относительные длины между разноединичными строками бессмысленны (хотя внутри строки сравнение девелоперов и tooltip корректны, строки 27/31). Доп. нарушение ui-conventions (value-ось без подписи). Как чинить: разнести метраж и проценты на отдельные графики/панели, либо нормализовать «Средний метраж» к % от референса, либо как минимум сгруппировать визуально и добавить подпись/единицу к оси, чтобы не сравнивать длины баров поперёк единиц.

Почему баг: Горизонтальный grouped-bar смешивает метраж и проценты на одной шкале. Хотя сравнение внутри одной строки (между девелоперами) корректно и tooltip добавляет правильный per-row unit (строки 27, 31), сама ось X не имеет единого смысла: метраж в м² делит шкалу с процентами. Это вводит в заблуждение при беглом взгляде на относительные длины баров между строками. Импакт ограничен (внутристрочное сравнение и tooltip верны), потому low.

Как чинить: Разнести метраж и проценты на отдельные графики/оси, либо нормировать, либо явно подписать ось и предупредить о смешанных единицах. Минимум — добавить yAxis.name и не позволять читать длины баров между строками как сопоставимые.


deep-audit «армия ботов 2» · verify+harden, confidence 0.8 · unit U87

**Severity:** low · **Категория:** report · **Файл:** `frontend/src/components/analytics/PrinzipGapBar.tsx:39-65` PrinzipGapBar.tsx:38-39. xAxis: { type: 'value' } без name/единицы; yAxis — категории key_gaps (analytics_queries.py:513-545), где строка «Средний метраж» в м² (38-61) делит общую шкалу X с тремя строками в % (5-75). Импакт: при беглом взгляде бар метража 38 м² выглядит так же, как бар 38% — относительные длины между разноединичными строками бессмысленны (хотя внутри строки сравнение девелоперов и tooltip корректны, строки 27/31). Доп. нарушение ui-conventions (value-ось без подписи). Как чинить: разнести метраж и проценты на отдельные графики/панели, либо нормализовать «Средний метраж» к % от референса, либо как минимум сгруппировать визуально и добавить подпись/единицу к оси, чтобы не сравнивать длины баров поперёк единиц. **Почему баг:** Горизонтальный grouped-bar смешивает метраж и проценты на одной шкале. Хотя сравнение внутри одной строки (между девелоперами) корректно и tooltip добавляет правильный per-row unit (строки 27, 31), сама ось X не имеет единого смысла: метраж в м² делит шкалу с процентами. Это вводит в заблуждение при беглом взгляде на относительные длины баров между строками. Импакт ограничен (внутристрочное сравнение и tooltip верны), потому low. **Как чинить:** Разнести метраж и проценты на отдельные графики/оси, либо нормировать, либо явно подписать ось и предупредить о смешанных единицах. Минимум — добавить yAxis.name и не позволять читать длины баров между строками как сопоставимые. --- <sub>deep-audit «армия ботов 2» · verify+harden, confidence 0.8 · unit U87</sub>
bot-backend added the
week ревью 1
label 2026-06-15 05:54:52 +00:00
bot-backend added the
scope/frontend
label 2026-06-15 11:02:04 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1437
No description provided.