1.2 KiB
1.2 KiB
Code Style and Conventions
Rust Style
- Следовать стандартному Rust стилю (rustfmt)
- Snake_case для переменных и функций
- PascalCase для типов и enum вариантов
- SCREAMING_SNAKE_CASE для констант
Project Conventions
- Использовать
Result<T, String>для ошибок (планируется заменить наResult<T>с кастомным enum) - Async/await для TDLib операций
- Группировать imports: std → external crates → local modules
- Константы вынесены в
src/constants.rs
Architecture Patterns
- Модульная структура: app, ui, input, tdlib, utils
- TdClient разделён на подмодули: auth, chats, messages, users, reactions
- ChatState enum для состояний чата (type-safe)
- Snapshot тесты для UI компонентов
- Integration тесты для business logic
Documentation
- Комментарии на русском в коде (для логики)
- Doc-комментарии на английском (для публичного API)
- CLAUDE.md, CONTEXT.md, ROADMAP.md для документации проекта