# Руководство по разработке на 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