26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
# 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 для документации проекта
|