Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 5
×

Clean architecture у flutter. Портрібна порада

Усі статті, обговорення, новини про Mobile — в одному місці. Підписуйтеся на телеграм-канал!

я старий пердун (38), який починав ще із asm та C. На даний момент я вже роки 3 працюю флаттер девом і зараз йде такий хайп як чиста архітектура і співробітники (джуни без досвіду ) активно просувають це. Я довго сидів і читав про неї, дивився купу відео і не розумію плюсів. Мало того, що майже в кожному відео «своя» чиста реалізація, так чомусь всі говорять про пришвидшення, роблячи купу дублюючих структур. Таким чином додавання одного поля визиває біль і конвульсії. Я і так раніше намагався робити ізольовані методи, класи і тд.

Зараз ми працюємо із паттерном розробки як MVC, бо використовуємо GetX для управлінням стану і він заточений під MVC. І тут дуже все наглядно, є модель, яка описує сутність, є контролер, який керує відображенням ui на основі моделі, і є вьюха, яка відображає. + якийсь датасорс який бере дані із сервера і повертає модель. Все наглядно і просто. Але чиста архітектура змушує мене створювати замість однієї моделі, мінімум три, одну для відображення, одну для реквесту, одну для респонсу + купу маперів. При цьому, вони майже завжди однакові. Раніше, в мене була лише одна модель, вона приймала дані, відображала, і всі дані із неї летіли на post.

Далі, згідно до чистої, я не можу в якості параметра передати модель, бо це фуфу так як один прошарок вже шось знає про інший, але бляха мати 50 параметрів у методі це норм. Бо якщо у вас був досвід створення великих складних crm систем, то де які документи потребують первинного заповнення із купою обов’язкових полів.

GetX має свої типи даних — rx змінні, за допомогою яких і робиться перемальовка в GetX. Так от, я теж їх не можу використовувати і повинен дублювати ці змінні в контроллер. Це призводить до того, шо якщо в мене перемальовка йде на 10 полям, то я 10 полів маю продублювати для відображення, записати в них дані, потім не забути повернути іх для запису. Раніше, я для моделі робив метод clone, передавав клоновані дані на сторінку редагування і відображав. При цьому в моделі в мене були rx змінні, що пришвидшувало розробку і прибирало купу коду. Усер заповнював модель, я її валідував і пост. Зараз купа дублюючих полів.

Я просто не розумію, в який період часу стало нормальним роздувати код, час розробки і час саппорту? Це ж старий прикол, чим більше коду, тим більше помилок. Якщо можно, поясніть мені плюси? Бо коли в мене був холівар, то + було те, шо якщо тобі треба переписувати код із GetX на BLoc, то буде швидше. Так це раз в тисячоліття буде бо весь код просто засраний методами і принципами GetX і швидко не буде в будь яком разі.

І як результат, 2 джуна, які наслухались порад стороннього розробника вже 5 місяців роблять те, шо можно за місяц і активно на колах говорять про пришвидшення і зручність.

А в мене зараз новий проект і шеф просить робити його на чистій, а в мене просто паніка від того, як розростеться проект і час розробки.

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Якщо вам роботодавець дає можливість і час на це, то займайтесь Resume Driven Development, в чому проблема?
Також почитайте роберта Мартіна, вибийте на це час, вибийте на час на інвестігейшени та покращення архітектури, вкрутіть DI, Юніт Тести, Інтеграційні тести.

Потім на собєсах можна можна з розумним обличчям розказувати що ви там крутий девелопер і всь по «Best Practices».

Дядьку, а ви тестами там у себе оте все покриваете?
Зразу відповідаю на питання " А с какой целью спграшиваете?"
Бо оті моделі та мапери зроблені щоб легше тестами покривати.

в том то і проблема, що ні. Є мануальщік. Бо не виділяється +15% часу на написання тестів

То взагалі то воно потрібніше ніж ото для тестів, але якщо вони у вас не використовуються, та й нема розуміння якого фейхоа вони потрібні може менеджмент не здогадується як ото все впливає на цінність.
Або кліентам та цінність не дуже потрібна. Так тож буває, і їх позиція має тверде бізнес підгрунтя.
Так що тести то цікава проба, що говорить про ваше оточення дуже багато.

Підписатись на коментарі