Size: a a a

2020 April 27

AP

Andrey Privalov in Go-go!
Но откуда уверенность, что интерфейс - это про то, что надо более одного раза пользовать? Один раз имплментация, один раз тестирование. Все ок
источник

DP

Daniel Podolsky in Go-go!
Мимо Проходящий
А вот теперь поясните мне коль скоро вы такой грозный - на кой хрен использовать интерфейс, который будет реализован ОДИН раз. Тестовая бд есть, поднять её проблем нет (быстро), мокать не надо - чяднт?
тут две проблемы

1. изменения схемы БД непредсказуемо отражаются на слое бизнес-логики. самое страшное тут то, что вы идете править самые критичные тесты, а могли бы и обойтись
2. тесты должны запускаться на каждый коммит. и чем быстрее они идут - тем меньше вероятность, что в критической ситуации их не отключат
источник

AK

Anton Kucherov in Go-go!
Ох и разожгли. Коллеги, бородатые дядки с учеными степенями в CS еще 20 лет назад описали все подходы к реализации бизнес-логики:
1) Можно всю бизнес-логику реализовать в RDBMS. Тут свои плюсы и минусы.
2) Можно всю бизнес-логику реализовать в приложении. Тут свои плюсы и минусы.
3) Можно смешать оба подхода и получить неподдерживаемую кашу. Смешение парадигм допускают только в исключительных случаях, когда речь заходит о производительности. И это всегда должно быть взвешенное решение.
источник

s

snip in Go-go!
"смешение парадигм" это нормально если есть грамотное разделение зон ответственности
а то зачастую неосилляторы rdbms используют их как тупой сторадж реализуя их зону ответственности в приложении, что и приводит к большому числу багов
источник

МП

Мимо Проходящий... in Go-go!
Daniel Podolsky
тут две проблемы

1. изменения схемы БД непредсказуемо отражаются на слое бизнес-логики. самое страшное тут то, что вы идете править самые критичные тесты, а могли бы и обойтись
2. тесты должны запускаться на каждый коммит. и чем быстрее они идут - тем меньше вероятность, что в критической ситуации их не отключат
1 - достаточно предсказуемо. Я сам пишу БД, а не кто-то за меня, ~половина бл в SQL, соответственно я знаю, что при миграциях тесты посыпятся (потому что тестится всё сразу, в том числе БД и интеграция с ней) и пишу их много на всё.

2 - не всегда критично. Опыт обычно подсказывает, когда использовать Repository (макс. скорость тестов), а когда можно обойтись без. В основном правильно подсказывает
источник

AK

Anton Kucherov in Go-go!
snip
"смешение парадигм" это нормально если есть грамотное разделение зон ответственности
а то зачастую неосилляторы rdbms используют их как тупой сторадж реализуя их зону ответственности в приложении, что и приводит к большому числу багов
Если зоны разделены, смешения нет. В том то и дело.
источник

МП

Мимо Проходящий... in Go-go!
Мимо Проходящий
1 - достаточно предсказуемо. Я сам пишу БД, а не кто-то за меня, ~половина бл в SQL, соответственно я знаю, что при миграциях тесты посыпятся (потому что тестится всё сразу, в том числе БД и интеграция с ней) и пишу их много на всё.

2 - не всегда критично. Опыт обычно подсказывает, когда использовать Repository (макс. скорость тестов), а когда можно обойтись без. В основном правильно подсказывает
но зато у меня тесты ТАБЛИЧНЫЕ, без моков, т.е. - ПРОСТЫЕ
источник

SP

Sergey Poulikov in Go-go!
Anton Kucherov
Если зоны разделены, смешения нет. В том то и дело.
"смешение" в кавычках потому что по вашей терминологии это смешение, а на самом деле это разделение зон ответственности
источник

МП

Мимо Проходящий... in Go-go!
Anton Kucherov
Ох и разожгли. Коллеги, бородатые дядки с учеными степенями в CS еще 20 лет назад описали все подходы к реализации бизнес-логики:
1) Можно всю бизнес-логику реализовать в RDBMS. Тут свои плюсы и минусы.
2) Можно всю бизнес-логику реализовать в приложении. Тут свои плюсы и минусы.
3) Можно смешать оба подхода и получить неподдерживаемую кашу. Смешение парадигм допускают только в исключительных случаях, когда речь заходит о производительности. И это всегда должно быть взвешенное решение.
кто именно из бородатых авторитет? Фаулер? - он пустомеля, и уч. степень у него не по программированию вовсе
источник

C

Calculon in Go-go!
источник

IK

Ilya Kaznacheev in Go-go!
Господа, как вы называете интерфейсы, которые разделяют уровни приложения?

Например, интерфейс, который отделяет работу с БД
По стилю го, он должен называться как какой-то doer, но я не могу ниче придумать
источник

E

Edgar in Go-go!
Можно же просто обозвать Repo....
источник

C

Calculon in Go-go!
Ilya Kaznacheev
Господа, как вы называете интерфейсы, которые разделяют уровни приложения?

Например, интерфейс, который отделяет работу с БД
По стилю го, он должен называться как какой-то doer, но я не могу ниче придумать
Забей на doer
источник

x

x-foby in Go-go!
Мимо Проходящий
кто именно из бородатых авторитет? Фаулер? - он пустомеля, и уч. степень у него не по программированию вовсе
Всегда забавно читать, когда вы начинаете кого-то/что-то оценивать.
Не припомню, что б для вас вообще кто-то авторитетом был: все — говно, всё — говно)
источник

AK

Anton Kucherov in Go-go!
Мимо Проходящий
кто именно из бородатых авторитет? Фаулер? - он пустомеля, и уч. степень у него не по программированию вовсе
Вы безусловно имеете право так считать, проблема только в том, что ваша точка зрения абсолютно субъективна и подкреплена ничем. Тот же Фаулер свою компетентность давным давно уже доказал, а вот вы вряд ли сможете доказать утверждение что он "пустомеля". При этом он вам ничего доказывать не обязан, он вас в некомпетентности не обвиняет, а вы его обвиняете. Вы и вправду считаете что все вокруг идиоты и только вы знаете как правильно?
источник

МП

Мимо Проходящий... in Go-go!
==  Можно всю бизнес-логику реализовать в RDBMS

нет, нельзя. Вы похоже слабо представляете о чём гооворите
источник

МП

Мимо Проходящий... in Go-go!
== Фаулер свою компетентность давным давно уже доказал

Кому и каким образом?
источник

AK

Anton Kucherov in Go-go!
Мимо Проходящий
==  Можно всю бизнес-логику реализовать в RDBMS

нет, нельзя. Вы похоже слабо представляете о чём гооворите
Обоснуйте?
источник

МП

Мимо Проходящий... in Go-go!
Из постгреса ходить по веб сервисам, в grpc, парсить сайты - это вам не понятно и требует доп. аргументации? ну ну
источник

AK

Anton Kucherov in Go-go!
Требует. Вы похоже тоже имеете достаточно слабое представление о вещах о которых вы говорите.
источник