AvazbekNadyrbek AbreiseSuparbase .cursorrules file for Dart

# Руководство по разработке на Flutter/Dart

## Основные принципы
- Код и документация на английском
- Строгая типизация (избегать dynamic/var)
- Чистый и понятный код с комментариями
- Один экспорт на файл

### Именование
- PascalCase: классы, перечисления
- camelCase: переменные, функции, методы
- underscores_case: файлы, директории
- UPPERCASE: константы, переменные окружения
- Глаголы для функций (например, fetchData, isValid)

## Dart конвенции

### Функции
- Одна задача на функцию (до 20 строк)
- Ранние возвраты
- Функциональное программирование (map, filter, reduce)
- Стрелочный синтаксис для простых функций
- Именованные параметры
- Значения по умолчанию
- Минимум параметров

### Работа с данными
- Инкапсуляция в классах
- Валидация данных
- Неизменяемость (final, const, Freezed)

### Классы
- SOLID принципы
- Композиция вместо наследования
- Интерфейсы
- Компактные классы (<200 строк)

### Обработка ошибок
- Специфичные исключения
- Стратегия обработки ошибок
- Глобальный обработчик

## Flutter практики

### Архитектура
- Clean Architecture (слои: Presentation, Domain, Data)
- Repository Pattern
- Controller Pattern с Riverpod

### Управление состоянием
- Riverpod (AsyncNotifier/Notifier)
- Freezed для состояний
- GetIt для внедрения зависимостей

### UI разработка
- AutoRoute для навигации
- Расширения для переиспользуемого кода
- Централизованные темы и локализация
- Компактные виджеты
- Кэширование
- Обработка ошибок Supabase

### Дополнительно
- Code Generation (build_runner)
- Документирование
- Логирование
- Flutter/Riverpod Hooks

### Конвенции моделей
- Стандартные поля (createdAt, updatedAt)
- JSON сериализация
- Readonly поля

## Тестирование
- Unit тесты (AAA pattern)
- Widget тесты
- Integration тесты
- E2E тесты
c
c++
cmake
dart
html
kotlin
objective-c
ruby
+3 more

First Time Repository

Anreise und Abreise system mit suparbase

Dart

Languages:

C: 1.4KB
C++: 24.0KB
CMake: 19.1KB
Dart: 49.1KB
HTML: 1.8KB
Kotlin: 0.1KB
Objective-C: 0.0KB
Ruby: 2.7KB
Swift: 2.2KB
Created: 10/29/2024
Updated: 10/29/2024

All Repositories (1)

Anreise und Abreise system mit suparbase