Mikhail Kilin
|
5709fab9c3
|
docs: update documentation for P2.6 completion
Обновлена документация для отражения завершения задачи P2.6
(реструктуризация MessageInfo).
Изменения:
- CONTEXT.md: добавлен P2.6 в завершённые задачи Priority 2
- CONTEXT.md: обновлён статус Priority 2 (80%, 4/5 задач)
- CONTEXT.md: добавлена детальная секция "Последние обновления"
- CONTEXT.md: обновлён технический долг
- REFACTORING_ROADMAP.md: отмечен P2.6 как завершённый
- REFACTORING_ROADMAP.md: обновлён общий прогресс (41%, 7/17 задач)
- REFACTORING_ROADMAP.md: добавлено "Что сделано" для P2.6
Статус: Priority 2 - 80% (4/5 задач)
Осталась последняя задача: P2.7 MessageBuilder pattern
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-01-31 01:47:51 +03:00 |
|
Mikhail Kilin
|
7081a886ad
|
refactor: implement newtype pattern for IDs (P2.4)
Добавлены типобезопасные обёртки ChatId, MessageId, UserId для предотвращения
смешивания разных типов идентификаторов на этапе компиляции.
Изменения:
- Создан src/types.rs с тремя newtype структурами
- Реализованы методы: new(), as_i64(), From<i64>, Display
- Добавлены traits: Hash, Eq, Serialize, Deserialize
- Обновлены 15+ модулей для использования новых типов:
* tdlib: types.rs, chats.rs, messages.rs, users.rs, reactions.rs, client.rs
* app: mod.rs, chat_state.rs
* input: main_input.rs
* tests: app_builder.rs, test_data.rs
- Исправлены 53 ошибки компиляции связанные с type conversions
Преимущества:
- Компилятор предотвращает смешивание разных типов ID
- Улучшенная читаемость кода (явные типы вместо i64)
- Самодокументирующиеся типы
Статус: Priority 2 теперь 60% (3/5 задач)
- ✅ Error enum
- ✅ Config validation
- ✅ Newtype для ID
- ⏳ MessageInfo реструктуризация
- ⏳ MessageBuilder pattern
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
2026-01-31 01:33:18 +03:00 |
|