170 похожих чатов

For i := range u.Prizes { prize,

err := c.prizeService.Get(ctx, u.Prizes[i])
user.Prizes[i] = prize
}

for i := range u.Coins {
coin, err := c.coinService.Get(ctx, u.Coins[i])
user.Coins[i] = coin
}

Подскажите, пожалуйста, как избавиться от дублирования ?

22 ответов

22 просмотра

Без дженериков сложно. Оно вам надо?

зачем? эти два куска кода будут меняться по одной причине?

wm0- Автор вопроса
Alexandr Sokolov
Без дженериков сложно. Оно вам надо?

С удовольствием бы просто копипастнул, но там 6 таких блоков кода получается, я тут обработку ошибок ещё пропустил

wm0- Автор вопроса
Alexey Gevondyan
зачем? эти два куска кода будут меняться по одной ...

По сути да. Это просто превращение id в структуру.

wm0
С удовольствием бы просто копипастнул, но там 6 та...

Тут еще очень верно подметил Алексей. Если бизнес-логика для каждого из этих кусков одинакова, то тогда при очень большом желании можно заморочиться, в противном случае точно не стоит

Alexandr Sokolov
Без дженериков сложно. Оно вам надо?

Они же же уже приняты и возможно скоро заедут?

wm0
По сути да. Это просто превращение id в структуру.

что-то я не очень понимаю смысл кода... берется слайс из u, его значения куда-то передаются, потом обратно же записываются обработанные?

Maksim Terichev
Они же же уже приняты и возможно скоро заедут?

Приняты, но скорее всего весной, если я правильно помню

Maksim Terichev
Они же же уже приняты и возможно скоро заедут?

Приняты. Заедут. Но использовать их сейчас точно не стоит в проде, а без них тоже как-то нужно жить)

Alexandr Sokolov
Приняты. Заедут. Но использовать их сейчас точно н...

живут вполне себе не плохо) если система спроектирована верно, то проблемы не возникает обычно.

Johnny Ipcom🇺🇦
Приняты, но скорее всего весной, если я правильно ...

1.18, если все пойдет по плану. То есть оптимистично можно ждать в феврале, а прагматично я не уверен, что их сразу можно безбоязненно будет использовать в проде

Alexey Gevondyan
живут вполне себе не плохо) если система спроектир...

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

Alexandr Sokolov
1.18, если все пойдет по плану. То есть оптимистич...

Они так-то уже в tip (то есть в master ветке) есть, так что можно наверняка говорить, что будут в 1.18

Alexandr Sokolov
Да, конечно. Но этот кейс как раз один из немногих...

мне кажется там происходит что-то странное)

wm0- Автор вопроса
Alexey Gevondyan
что-то я не очень понимаю смысл кода... берется сл...

Есть два слайса, первый содержит id, второй пустой. По id идёт запрос в бд, получается структура, она записывается во второй слайс. Изначально суть в том, что в бд у меня все в виде id хранится, а фронту надо список структур отдать.

Владимир Столяров
Они так-то уже в tip (то есть в master ветке) есть...

Это все еще очень оптимистично так как никто не исключает появление критических проблем в любой части их реализации

wm0
Есть два слайса, первый содержит id, второй пустой...

Так тогда надо прямо точно грузить все (хотя бы для одного типа) одним запросом

wm0
Есть два слайса, первый содержит id, второй пустой...

Тут наверно не сервис нужен а репозиторий с методом GetByIds

wm0
Есть два слайса, первый содержит id, второй пустой...

т.е. по сути загрузка сущностей по ids? нуу... в общем копипаста - не всегда признак проблемы. мне кажется что в данном случае таки не будет изменяться весь этот код под одной причине. скорее если только захочется переделать механизм получения объектов по ид-шникам... но это другое

Alexandr Sokolov
Это все еще очень оптимистично так как никто не ис...

В любом случае это более оптимистично, чем сеть в std lib C++

Похожие вопросы

Обсуждают сегодня

Мужики и девушки, привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных...
Kraszx
14
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
А вот это что за конструкция? Вернее, она тут нафига?
Serjone
10
Привет. Подскажите, как правильно сматчить лист фиксированного размера, чтобы компилятор не говорил мне о неполном паттерне? Допустим что-то такое [x', y'] = sort [x, y]?
Arseny
8
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Мужики. привет) в Вelphi xe7 в настройках во вкладке "Editor Options" далее " Color" есть список: "Elements", открыв который мы можем настраивать отображение разных элементов...
Kraszx
2
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Карта сайта