
Максим
01.08.2018
13:47:15
но суть думаю поняли

Anton
01.08.2018
13:47:41

Roman
01.08.2018
13:47:48
если тебе говорят "сделай отсылку смс", а ты говоришь "ща я только сделаю архитектуру, которая сможет поддерживать переменное количество смс провайдеров, коллайдеров, будет учитывать марсианские таймзоны и клингонский", то тебе скажут "делай давай отсылку смс блеать, а не отето вот"

Anton
01.08.2018
13:47:53

Google

Максим
01.08.2018
13:48:02
с хорошей архитектурой разраб вполне может сесть, почитать, погонять тесты, и прикинуть что происходит и как

Roman
01.08.2018
13:48:10

Максим
01.08.2018
13:48:11
ну это когда разработчик сможет ^

Anton
01.08.2018
13:48:20

Максим
01.08.2018
13:48:22
не это окгда понятно что происходит и почему

Roman
01.08.2018
13:48:34

Anton
01.08.2018
13:49:00
Архитектура поддерживаемой должна быть, не хорошей, чистой и пушистой

Максим
01.08.2018
13:49:09
т.е. разраб пониает что где почему
и вполне может расширить пошатать

Roman
01.08.2018
13:49:33
так, продолжим потом, надо грести

Anton
01.08.2018
13:49:36

Google

Максим
01.08.2018
13:49:44
по моему очень важный
типа если архитектура поддерживаема
то она будет понятна

Anton
01.08.2018
13:50:11
вот смотри, рейлс - понятная архитектура
ты знаешь где что. при этом в любом проекте

Tim
01.08.2018
13:50:36

Combot
01.08.2018
13:50:36
Tim (0) увеличил репутацию Anton Davydov (1)

Tim
01.08.2018
13:50:42
ну короче читаемость и понятность это ложные цели

Максим
01.08.2018
13:51:08
а постаьте мне плюсиков я резюме напишу что у меня высокаяр епутация в ру руби сообществе
ну почему ложные

Tim
01.08.2018
13:51:19
изменяемость и гибкость - настоящие

Максим
01.08.2018
13:51:32
ну так из них исходит читаемость и понятность
ну

Tim
01.08.2018
13:51:37

Максим
01.08.2018
13:51:38
впринципе я понимаю
я просто сложно могу представить как можно написать понятно и читаемо но при этом не гибко
ну ток если не совсем такие вещи типа
app.start
и всё

Tim
01.08.2018
13:52:21
легко представить

Google

Anton
01.08.2018
13:52:42

Tim
01.08.2018
13:52:48
сделай чето негибким, а потом читаемым

Максим
01.08.2018
13:53:06
то значит так ещё постараться сделать надо

Tim
01.08.2018
13:53:18
нет, это для примера

Anton
01.08.2018
13:53:22
изменяемость тоже поддерживаемости не равна. яркий пример - дохуя не нужных конфигов, которые усложняют написание кода, но делают его очень гибким

Tim
01.08.2018
13:53:25
если надо понять че это такое

Максим
01.08.2018
13:53:48
ну так у ен я проблемы скорее с представить как это написать можно
а не как это выглядит

Anton
01.08.2018
13:54:29

Anton
01.08.2018
13:54:48
для этого придется кучу крайностей пройти
и метомагию, и паттерны, и DI
и кучу всего
микросервисы нагородить на каждый чих
эксепшен флоу всякие и так далее
я к тому, что к сожалению такие штуки не понять в книгах или чатиках, нужен собственный опыт

Максим
01.08.2018
13:56:56
ну

Tim
01.08.2018
13:56:57

Google

Максим
01.08.2018
13:57:12
проблема представить именно как можно написать понятно но не гибко
а не гибко и понятно
т.е. мне кажется во время написания если держат ьименно цель написать понятно
то гибкость как то сама прийдёт

Anton
01.08.2018
13:58:06

Tim
01.08.2018
13:58:11
процедурный код местами может быть понятным))
но он нихрена не поддерживаемый

Максим
01.08.2018
13:58:23

Anton
01.08.2018
13:58:29
вот не гибкий способ сохранить что-то где-то, но зато понятный

Admin
ERROR: S client not available

Tim
01.08.2018
14:00:20
я конечно почитаю твой канал
но все же

Anton
01.08.2018
14:01:29
даже найду сейчас
вот такая залупа
при этом каждый из мессаджей мог кинуть свой эксепшен, который где-то там ловился
и дебажить этот ад было вообще анриал

Roman
01.08.2018
14:06:28
value? to_s?

Google

Roman
01.08.2018
14:09:22
а что не проще
pasted_pastry_text.css('.product_name .nombre_producto')[0].text
?

Alena
01.08.2018
14:10:37

Roman
01.08.2018
14:10:47
аа ок

Tim
01.08.2018
14:11:15
а например имели бы метод типа success? error ченить такое
было б меньше боли?

Anton
01.08.2018
14:13:49
скорее всего, потому что основная боль была запомнить весь флоу ибо его дохуя там

Tim
01.08.2018
14:14:16
ну по факту это было бы тоже самое что ты предлагаешь с Success Failure
только в роли говорящего - сам объект
и это самое что ни на есть ооп =)))

Igor
01.08.2018
14:44:40
Ребят, в рельсах руками в контроллере формирую nested_attributes (основываясь на пришедших из формы данных) для has_many связи, и помещаю этих аттрибуты в params.
когда создаю объект, пишет ActiveModel::ForbiddenAttributesError Exception: ActiveModel::ForbiddenAttributesError. После долгого исследования понял что проблема именно в этих в ручную созданных аттрибутах (если сделать params.permit! проблема исчезает). Есть варианты как решить по человечески?

Максим
01.08.2018
14:54:41
Вообще подозреваю что для этого нужно использовать десериализатор
Т.е. либо инструмент гема для сераилищации который у тебя в проекте
Либо отдельный класс который обрабатывает то что пришло и отдает параметры как тебе нужно
Либо вообще отдельные классы для записи/изменения/создания но это многие не рекомендуют
Если не прав поправьте

Alex
01.08.2018
14:59:15
>ForbiddenAttributesError
все nested поля тоже должны быть допущены в params через permit - будет по человечески если эти поля будут явно перечислены в permit
Igor
ах, упустил - что ручками это делается - а зачем тогда мутировать params? лучше новый объект со всеми данными создать

Roman
01.08.2018
15:04:33
а блин их переименовали ActionController::Parameters