Size: a a a

2020 May 20

m

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

m

mstrVLT in Go-go!
сюда пускает?
источник

RF

Rrrr Fffff in Go-go!
не
источник

m

mstrVLT in Go-go!
ну все тогда ваша песенка труба
источник

Н

Никита in Go-go!
Как-то задумался, зачем для Бд/очереди/других сервисов которые задействованы в проекте помимо их реализации добавляют еще и интерфейс. Понятно что детали реализации сервисов не должны светиться в бизнес логике, но разве мы не можем делать все методы/поля, которые специфичны для этой реализации делать приватными? Какой смысл в интерфейсе, если публичные методы реализации совпадают с интерфейсом один в один. Мало того, интерфейс не позволяет работать с полями, что бывает крайне неудобно.
Подскажите, может я что-то упускаю?
источник

RF

Rrrr Fffff in Go-go!
))
источник

VM

Vladislav Milenin in Go-go!
Rrrr Fffff
посоветуйте vpn
источник

ИЛ

Илья Лазарев... in Go-go!
Есть, кто прошел тест у озона? Есть вопросик.
источник

МД

Максим Дубинин... in Go-go!
Да давайте тут весь и решим уже, чо уж
источник

ИЛ

Илья Лазарев... in Go-go!
ок ок. молчу.
источник

AK

Anton Kucherov in Go-go!
Никита
Как-то задумался, зачем для Бд/очереди/других сервисов которые задействованы в проекте помимо их реализации добавляют еще и интерфейс. Понятно что детали реализации сервисов не должны светиться в бизнес логике, но разве мы не можем делать все методы/поля, которые специфичны для этой реализации делать приватными? Какой смысл в интерфейсе, если публичные методы реализации совпадают с интерфейсом один в один. Мало того, интерфейс не позволяет работать с полями, что бывает крайне неудобно.
Подскажите, может я что-то упускаю?
Интерфейс позволяет подменить реализацию. Если интерфейс 1в1 копирует реализацию, это ошибка проектирования (или интерфейс используется просто для того чтобы была возможность тестировать в изоляции от БД, Очереди и т.п.). Как правило такое случается, когда берут конкретную реализацию, а потом из нее извлекают интерфейс. Обычно же интерфейс обычно проектируется до того как выбрана ДБ/Очередь/Другой сервис.
источник

Н

Никита in Go-go!
Anton Kucherov
Интерфейс позволяет подменить реализацию. Если интерфейс 1в1 копирует реализацию, это ошибка проектирования (или интерфейс используется просто для того чтобы была возможность тестировать в изоляции от БД, Очереди и т.п.). Как правило такое случается, когда берут конкретную реализацию, а потом из нее извлекают интерфейс. Обычно же интерфейс обычно проектируется до того как выбрана ДБ/Очередь/Другой сервис.
Да, про тестирование совсем забыл. И видимо это единственная причина. Меня просто напрягает это дублирование.
источник

YM

Yuriy Musienko in Go-go!
привет. Как такие даты парсить?
t, err := time.Parse("2020-01-23 08:30:00", "2020-01-23 08:30:00")


cannot parse "-01-23 08:30:00" as "0-"
источник

ЛА

Локоть Анатолий... in Go-go!
2006-01-02 15:04:05 - это ваш формат, поставьте его первым аргументом
источник

Н

Никита in Go-go!
Anton Kucherov
Интерфейс позволяет подменить реализацию. Если интерфейс 1в1 копирует реализацию, это ошибка проектирования (или интерфейс используется просто для того чтобы была возможность тестировать в изоляции от БД, Очереди и т.п.). Как правило такое случается, когда берут конкретную реализацию, а потом из нее извлекают интерфейс. Обычно же интерфейс обычно проектируется до того как выбрана ДБ/Очередь/Другой сервис.
Вообще есть какой-то хитроумный способ мокать без интерфейсов? Были бы абстрактные классы, можно было через них реализовывать. Не хватает возможности прикидывать поля также как и методы, а выражать поля через какие то геттеры/сеттеры ну совсем такое
источник

YM

Yuriy Musienko in Go-go!
Локоть Анатолий
2006-01-02 15:04:05 - это ваш формат, поставьте его первым аргументом
спасибо
источник

IK

Ilya Kaznacheev in Go-go!
Еще один человек споткнулся об уродливый парсер дат в го
источник

AK

Anton Kucherov in Go-go!
Никита
Вообще есть какой-то хитроумный способ мокать без интерфейсов? Были бы абстрактные классы, можно было через них реализовывать. Не хватает возможности прикидывать поля также как и методы, а выражать поля через какие то геттеры/сеттеры ну совсем такое
Я не знаю, меня интерфейсы в этом отношении не смущают никак.
источник

DS

Dmitry Soloma in Go-go!
Никита
Вообще есть какой-то хитроумный способ мокать без интерфейсов? Были бы абстрактные классы, можно было через них реализовывать. Не хватает возможности прикидывать поля также как и методы, а выражать поля через какие то геттеры/сеттеры ну совсем такое
приведение типов?
источник

Н

Никита in Go-go!
Anton Kucherov
Я не знаю, меня интерфейсы в этом отношении не смущают никак.
То есть если вы хотите получить поле, то делаете для него геттер?
источник