ManIlya / fittin_todo_app

0 stars 0 forks source link

Ревю #1

Open netos23 opened 1 year ago

netos23 commented 1 year ago

https://github.com/Morgoth228/fittin_todo_app/blob/463d969c93babbb604b46f7440d6ee596c2cfd8e/lib/widget/deadline_widget.dart#L5-L51

При работе со statefull виджетом. State может быть мутабельным, а сам Widget должен быть неизменяемым. Ты мог передать в виджет дедлайн, но сделать его неизменяемым, а например в инит стейте задать уже _deadline который будет изменяться вместе со стейтом. Просто виджет может пересоздаться, а состояние непредсказуемо потеряться.

netos23 commented 1 year ago

https://github.com/Morgoth228/fittin_todo_app/blob/463d969c93babbb604b46f7440d6ee596c2cfd8e/lib/widget/deadline_widget.dart#L15-L24

Если пользователь уже выбрал дату и захотел ее поменять, но передумал затеряется его выбор. Лишний сет стейт если дата таже.

netos23 commented 1 year ago

https://github.com/Morgoth228/fittin_todo_app/blob/463d969c93babbb604b46f7440d6ee596c2cfd8e/lib/widget/todo_editing_text_widget.dart#L4-L8

Текст контроллер надо создавать в Стейте и диспоузить. Текущая реализация может приводить к непредсказуемым последствиям и утечкам.

netos23 commented 1 year ago

Add и Edit page можно было объеденить

netos23 commented 1 year ago

https://github.com/Morgoth228/fittin_todo_app/blob/463d969c93babbb604b46f7440d6ee596c2cfd8e/lib/page/todo_edit_page.dart#L16-L26

Изза того что чуть чуть не так понял про контроллер. Тут получилось немного не то. Идея такая ты создоешь контроллер там где к нему нужен доступ и потом передаешь его в конструкторы и при необходимости тянешься за ним. Обязательно удаляешь его там где создал, а у тебя наоборот, ты его создал в ребенке а пытаешься передать в родителя.

netos23 commented 1 year ago

https://github.com/Morgoth228/fittin_todo_app/blob/463d969c93babbb604b46f7440d6ee596c2cfd8e/lib/page/todo_edit_page.dart#L52

можно final

netos23 commented 1 year ago

https://github.com/Morgoth228/fittin_todo_app/blob/463d969c93babbb604b46f7440d6ee596c2cfd8e/lib/page/todo_edit_page.dart#L63-L67

Не забывай про форматирование.

netos23 commented 1 year ago

https://github.com/Morgoth228/fittin_todo_app/blob/463d969c93babbb604b46f7440d6ee596c2cfd8e/lib/page/todo_list_page.dart#L26

Есть шанс что отвалиться, нужен либо FutureBuilder либо в мейне инициализируй.

netos23 commented 1 year ago

https://github.com/Morgoth228/fittin_todo_app/blob/463d969c93babbb604b46f7440d6ee596c2cfd8e/lib/page/todo_list_page.dart#L139-L153

Лучше исспользуй SliverList youtube.com/watch?v=LUqDNnv_dh0

netos23 commented 1 year ago

https://github.com/Morgoth228/fittin_todo_app/blob/master/lib/services.dart

Лучше исспользуй intl