Size: a a a

Angular - русскоговорящее сообщество

2019 December 14

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
Eugene Kalashnikov
Спасибо за ответ.
Пока что из минусов ngrx я выделяю только то, что приходится писать бойлерплейт-код. В остальном, стейт-менеджер навязывает более правильную архитектуру, разделение зон ответственности и упожение компонент. Пока что не могу найти *существенных* минусов стейт-менеджеров, в частности ngrx.
на самом деле нет) видел проекты, когда часть кода была на сервисах, часть на ngrx) и все это было как вермишель) те ngrx как бы да, навязывает свою архитектуру) но при этом, никто не запрещает тянуть данные без создания экшена)
источник

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
там просто тоже были сложные участки кода, и разрабы решили не тратить время, на разделения его на экшены. Теперь проект хоть на помойку выкидывай)
источник

EK

Eugene Kalashnikov in Angular - русскоговорящее сообщество
Денис Макаров
на самом деле нет) видел проекты, когда часть кода была на сервисах, часть на ngrx) и все это было как вермишель) те ngrx как бы да, навязывает свою архитектуру) но при этом, никто не запрещает тянуть данные без создания экшена)
Я не представляю как этого избежать. Конечно, можно действовать в обход принятой архитектуры, но это человеческий фактор и сама концепция стора здесь ни при чем, мне кажется
источник

EK

Eugene Kalashnikov in Angular - русскоговорящее сообщество
В том то и дело, что они оставили технический долг их последователям. Или им же самим. Поддерживать его сложно тем, кто его не писал, потому что самодокументированности кода нет.
источник

KA

Kulagin Alex in Angular - русскоговорящее сообщество
Стейт менеджер тоже на самом деле не самодокументирует код
источник

EK

Eugene Kalashnikov in Angular - русскоговорящее сообщество
Kulagin Alex
То же самое можно сделать и с помощью сервисов не привязываясь к конкретному стейт менеджеру
Конечно можно.
источник

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
я как-то на собеседовании спросил разрабов компании, почему они используют ngrx) Мне ответили, что модно и молодежно) я скипнул вакансию)
источник

EK

Eugene Kalashnikov in Angular - русскоговорящее сообщество
Kulagin Alex
Стейт менеджер тоже на самом деле не самодокументирует код
По крайней мере должно быть понятно что за чем выполняется когда его читаешь, если знаешь как работет стейт-менеджер. Поэтому и вникать легче в него.
источник

KA

Kulagin Alex in Angular - русскоговорящее сообщество
Eugene Kalashnikov
Конечно можно.
Я имею ввиду, что стейтменеджер  добавляет сложности и увеличивает затраты по времени, имхо
источник

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
Eugene Kalashnikov
По крайней мере должно быть понятно что за чем выполняется когда его читаешь, если знаешь как работет стейт-менеджер. Поэтому и вникать легче в него.
вот смотрите) такой вопрос, вы обращаетесь к стору из эффектов?)
источник

EK

Eugene Kalashnikov in Angular - русскоговорящее сообщество
Kulagin Alex
Я имею ввиду, что стейтменеджер  добавляет сложности и увеличивает затраты по времени, имхо
В момент создания приложения - точно.
В момент его поддержки и вникания другими людьми, вроде упрощает.
источник

EK

Eugene Kalashnikov in Angular - русскоговорящее сообщество
Денис Макаров
вот смотрите) такой вопрос, вы обращаетесь к стору из эффектов?)
Вроде из селектов, нет? (я не прям спец в этом вопросе)
источник

KA

Kulagin Alex in Angular - русскоговорящее сообщество
Eugene Kalashnikov
В момент создания приложения - точно.
В момент его поддержки и вникания другими людьми, вроде упрощает.
Неа, потому что штуки типа эффектов это очень неявное, их сложно отслеживать
источник

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
Eugene Kalashnikov
Вроде из селектов, нет? (я не прям спец в этом вопросе)
ну не важно) из селектов)
источник

EK

Eugene Kalashnikov in Angular - русскоговорящее сообщество
Может и можно из эффектов, но они не для этого созданы.
источник

EK

Eugene Kalashnikov in Angular - русскоговорящее сообщество
Kulagin Alex
Неа, потому что штуки типа эффектов это очень неявное, их сложно отслеживать
Не понимаю. Дебаг там работает, консоль тоже. Дергается понятно в какой момент времени. В чем сложность, если делать без явных заумствований?
источник

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
просто когда разрабы добавляют в эффекты обращения к стору, то понятность и простота тут-же пропадают, потому что кол-во сайд эффектов и кейсов резко возрастает
к сожалениюе, в инете полно статей, где авторы обращаются в эффектах к стору)
источник

EK

Eugene Kalashnikov in Angular - русскоговорящее сообщество
Денис Макаров
просто когда разрабы добавляют в эффекты обращения к стору, то понятность и простота тут-же пропадают, потому что кол-во сайд эффектов и кейсов резко возрастает
к сожалениюе, в инете полно статей, где авторы обращаются в эффектах к стору)
Насколько я понимаю, это делается в противоречие паттерну. Соответсвенно, можно творить что угодно и ждать что угодно. Порядок разрушается.
источник

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
Eugene Kalashnikov
Насколько я понимаю, это делается в противоречие паттерну. Соответсвенно, можно творить что угодно и ждать что угодно. Порядок разрушается.
тогда о какой архитектуре может идти речь?) ngrx так-же не избавляет от ошибок как и сервисы) приложения на сервисах при подходе cqrs тоже легко поддерживать, а вот когда подход нарушается, то мы получаем кашу)
источник

ДМ

Денис Макаров in Angular - русскоговорящее сообщество
я одно могу сказать) писать приложение, когда опыта в архитектуре нет - проще на ngrx, это правда. Но это не аргумент. С таким же подходом можно сказать, что вью лучше, потому что там не надо разбираться в rxjs)
источник