medvalna / ToDoList

Для ШМР 2023
1 stars 0 forks source link

minor changes #2

Open medvalna opened 1 year ago

LilyKras commented 1 year ago

Чистота кода и общая структура проекта Есть up-to-date README со ссылкой на загрузку .apk, перечнем реализованных фич, пара скриншотов - apk нерабочий (дебаг версия, не удалось скачать) + лучше дать ссылку на скачивание Добавлен и работает flutter_lints, в коде нет необоснованных игноров правил Форматирование кода присутствует - его на половину нет(запускала format - код менялся) Код разбит на фичи и слои (не важно, feature-first / layer-first) - тут все не очень понятно организовано (почему сохранение это модель? а экраны перестали быть частью ui?)

State-Management Для стейт-менеджмента используется любое решение: Stateful виджеты, любая библиотека, что угодно (не глобальные переменные) Консистентность данных при редактировании на разных экранах: изменил на одном экране, проросло на другой мгновенно без плясок с открытием чего-либо туда-сюда - у тебя нет половины функциональности (например, экрана редактирования просто нет)

Получение и хранение данных Реализована работа с бэкендом, данные отправляются/получаются с сервера Работа с сетью выделена в отдельный слой, код инкапсулирован. Отсутствует логика в слое представления Ну ее просто нет

Организовано сохранение данных на диск при помощи одной из представленных библиотек (в целом данные не полные - нет дедлайна и важности, поэтому и сохраняешь только часть данных) Работа выделена в отдельный слой (не входит в отдельный слой, но тип "отделено")

Разное Работа с асинхронным кодом реализована однородно: нет бессвязной мешанины из .then и async/await, подход выбран логично Интернационализация: используется пакет intl или аналогичный, строки изолированы и не захардкожены - ошибки при использовании AppLocalizations.of(context)!.helloWorld - везде у тебя нет восклицательного знака (ошибка)

ДОПОЛНИТЕЛЬНО: iphone не запускается((( https://stackoverflow.com/a/76481892 https://github.com/MedVAL-na/ToDoList/blob/28f0ba8f2ed4cb3690deb2b33ec00da7c7bd5192/lib/main.dart#L6C1-L6C42 - тут убрать точку

+приложение вообще не запустилось (бесконечная загрузка, если первый экран приветственный)

LilyKras commented 1 year ago

Еще немного:

В main.dart есть проверка if ios/android. Но material под cupertino подстраивается и такие проверки не нужны)

https://www.youtube.com/live/9LvO7xkueT4?feature=share. Тут рассказывается, почему нужно делать отдельные виджеты, а не функции, которые возвращают виджеты

olegalibekov commented 1 year ago

Чистота кода и общая структура проекта (max 5 баллов)

State-Management (max 8 баллов)

Получение и хранение данных (max 10 баллов)

Разное (max 3 баллов)