mirror of
https://github.com/smmarty/friflex_flutter_starter.git
synced 2026-02-05 03:32:18 +00:00
feat: добавлена новый skill flutter_dev и документация (#46)
This commit is contained in:
34
.agent/skills/flutter_dev/references/codestyle.md
Normal file
34
.agent/skills/flutter_dev/references/codestyle.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Правила именования и стиль кода
|
||||
|
||||
Мы придерживаемся рекомендаций **Effective Dart** и внутренних правил компании.
|
||||
|
||||
## Именование
|
||||
|
||||
### Интерфейсы
|
||||
- Начинаются с заглавной буквы **I**.
|
||||
- Пример: `IAuthRepository`, `IUserRepository`.
|
||||
|
||||
### Классы и файлы
|
||||
- **Классы**: `UpperCamelCase`. Приватные — с префиксом `_`. Должны содержать тип в конце (например, `UserEntity`).
|
||||
- **Файлы**: `snake_case`. Структура: `[раздел]_[тип].dart`. Пример: `user_details_screen.dart`.
|
||||
|
||||
### Репозитории
|
||||
- Основная реализация — без постфикса (`AuthRepository`).
|
||||
- Альтернативные реализации — с постфиксами: `Network`, `Local`, `Mock`.
|
||||
|
||||
### Виджеты
|
||||
- **Экраны**: Постфикс `Screen` (`ShopListScreen`).
|
||||
- **Контент экрана**: Постфикс `View` (`ShopListView`).
|
||||
- **Глобальные виджеты**: Префикс `App` (`AppButton`).
|
||||
- В названии **не должно** быть слова `widget`.
|
||||
|
||||
## Методы и переменные
|
||||
- **Методы**: Начинаются с глагола (`fetch`, `put`, `update`, `delete`). Не должны содержать `And/Or`.
|
||||
- **Переменные/Константы**: `lowerCamelCase`.
|
||||
|
||||
## Структура класса (порядок элементов)
|
||||
1. Конструкторы (default, named, factory).
|
||||
2. Static элементы (methods, const fields).
|
||||
3. Инстанс-поля (final, потом обычные; public, потом private).
|
||||
4. Геттеры/Сеттеры.
|
||||
5. Методы (overridden, public, protected, private).
|
||||
Reference in New Issue
Block a user