1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/jianxia84-flutter-go

Клонировать/Скачать
develop.md 8.3 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 06.06.2025 08:36 fdb5e74

flutter-common-widgets-app

Контекст использования

  • В связи с большим количеством виджетов (widgets) и API-документаций в официальной системе Flutter, отсутствие визуальных примеров.
  • Мы разработали это приложение, чтобы систематически увидеть способы использования часто используемых виджетов (widgets).
  • Помощь начинающим быстрее освоить официальные виджеты (widgets) Flutter.

Ссылки на материалы

Нормы именования и использования веток

  • Нормы именования веток

    • Имена веток разработки должны быть именами пользователей, например: yifeng
    • Основные ветки: Master (ветка выпуска) и develop (ветка разработки и тестирования)
    • Master используется для выпуска, develop используется для разработки и тестирования, ветки разработки создаются из develop и сливаются в master
  • Нормы слияния веток

    • Ветки разработки создаются из последней версии develop
    • После завершения разработки в ветке разработки, необходимо получить последние изменения из develop
    • Слить последние изменения из develop в ветку разработки, убедиться, что нет конфликтов
    • Перейти обратно в develop и слить изменения из ветки разработки, убедиться, что нет конфликтов и приложение работает корректно### Нормы коммитов
  • $git cz

  • Используется для классификации коммитов, разрешены только следующие 7 типов:

    • feat: новая функция (feature)
    • fix: исправление ошибки
    • docs: документация (documentation)
    • style: форматирование (изменения, не влияющие на выполнение кода)
    • refactor: рефакторинг (не добавление новых функций, не исправление ошибок)
    • test: добавление тестов
    • chore: изменения в процессе сборки или вспомогательных инструментах

Нормы кодирования

  • Нормы именования файлов

    • Имена файлов должны быть в нижнем подчёркивании, например: hello_world
    • Имена должны быть на английском, использование пиньиня запрещено. Имена должны быть легко читаемыми, использование сокращений и цифр должно быть минимальным
    • Продолжение следует
  • Нормы кодирования файлов

    • Все файлы должны быть закодированы в UTF-8
    • Для фронтенда используется camelCase с маленькой буквы, для классов виджетов используется camelCase с большой буквы.

Структура файлов (на примере папки lib)- lib

- main.dart: входной файл
- common: общие методы
- components: виджеты
- generated: сгенерированные файлы
- model: модели, логика не должна быть здесь
- router: маршруты
- views: представления
- widget: (концепция пересекается с components, устарела)
├── main.dart // входной файл
├── common общие методы
   ├── Style.dart
   ├── eventBus.dart
   ├── provider.dart
   └── sql.dart
├── components // компоненты для структуры приложения
   ├── Input.dart
   ├── List.dart
   ├── Pagination.dart
   ├── Pagination2.dart
   ├── SearchInput.dart
   └── homeBanner.dart
├── generated
   └── i18n.dart
├── model // локальные модели, не должны содержать логический слой
   ├── base.dart
   ├── cat.dart
   ├── story.dart
   └── widget.dart
├── routers // маршруты
   ├── application.dart
   ├── router_handler.dart
   └── routers.dart
├── views // внешний интерфейс приложения
   ├── Detail.dart
   ├── FirstPage.dart
   ├── FourthPage.dart
   ├── ThirdPage.dart
   ├── category.dart
   ├── demos
      ├── home.dart
      └── layout
          ├── SamplePage.dart
          └── layout_type.dart
   └── widgetPage.dart
└── widgets
    └── . . .  // подробное описание ниже
└── widgets // Классификация всех элементов и компонентов для Flutter
    ├── 404.dart
    ├── index.dart // Главный входной файл для widgets
    ├── components // Классификация компонентов (отличается от components выше)
       └── index.dart
    ├── elements // Классификация базовых элементов
       ├── index.dart
```dart // Главный входной файл для элементов в elements
     │   ├── Form // Классификация элементов Form в elements
     │   │   ├── Button // Элемент Button, внутри которого файлы с названиями классов/index.dart
     │   │   │   ├── FlatButton
     │   │   │   │   └── index.dart
     │   │   │   ├── RaisedButton
     │   │   │   │   └── index.dart
     │   │   │   └── index.dart
     │   │   ├── CheckBox
     │   │   ├── Input
     │   │   ├── Radio
     │   │   ├── Slider
     │   │   ├── Switch
     │   │   ├── Text
     │   │   └── index.dart
     │   ├── Frame // Классификация элементов Frame в elements
     │   │   ├── Align
     │   │   ├── Axis
     │   │   ├── Box
     │   │   ├── Expanded
     │   │   ├── Layout
     │   │   ├── Stack
     │   │   ├── Table
     │   │   └── spacing
     │   └── Media // Классификация элементов Media в elements
     │       ├── Canvas
     │       ├── Icon
     │       └── Image
     └── themes
         └── index.dart
 ``````javascript
 структура файлов в widget для хранения упакованных логических компонентов, файловая директория должна быть следующей, аналогично rax
 - widget // директория с подробными элементами или компонентами внутри widget
 	- hello-world // пример
 		- mods	  // (необязательный, подмодуль)
 		- mocks // (необязательный)
 		- utils // (необязательный, хранение временных приватных методов)
 		- schema
 		- index.dart

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/jianxia84-flutter-go.git
git@api.gitlife.ru:oschina-mirror/jianxia84-flutter-go.git
oschina-mirror
jianxia84-flutter-go
jianxia84-flutter-go
master