Summary
Декомпозировать самый большой файл кодовой базы result_grid_view.dart (3180 строк) на сфокусированные модули с четким разделением ответственности.
Context
В result_grid_view.dart сосредоточена критически важная логика виртуализированного рендеринга, но файл стал God-классом: в нем одновременно находятся расчет ширин колонок, скроллинг, выделение ячеек, клавиатурная навигация, форматирование, контекстные меню и интеграция с буфером обмена.
Implementation Details
Выделить подмодули в lib/features/workspace/grid/:
grid_column_sizer.dart — алгоритмы авторасчета ширины по сэмплу строк.
grid_keyboard_navigation.dart — обработка стрелок, Tab, Enter, Space.
grid_selection_manager.dart — выделение областей ячеек и строк.
grid_cell_renderer.dart — визуализация ячеек, hover-эффекты и бейджи.
grid_clipboard_service.dart — копирование TSV/CSV/JSON.
Acceptance Criteria
Summary
Декомпозировать самый большой файл кодовой базы
result_grid_view.dart(3180 строк) на сфокусированные модули с четким разделением ответственности.Context
В
result_grid_view.dartсосредоточена критически важная логика виртуализированного рендеринга, но файл стал God-классом: в нем одновременно находятся расчет ширин колонок, скроллинг, выделение ячеек, клавиатурная навигация, форматирование, контекстные меню и интеграция с буфером обмена.Implementation Details
Выделить подмодули в
lib/features/workspace/grid/:grid_column_sizer.dart— алгоритмы авторасчета ширины по сэмплу строк.grid_keyboard_navigation.dart— обработка стрелок, Tab, Enter, Space.grid_selection_manager.dart— выделение областей ячеек и строк.grid_cell_renderer.dart— визуализация ячеек, hover-эффекты и бейджи.grid_clipboard_service.dart— копирование TSV/CSV/JSON.Acceptance Criteria
result_grid_view.dartуменьшен до <600 строк.