Size: a a a

2020 April 01

IK

Ilya Kaznacheev in Go-go!
У меня в проекте так
источник

IK

Ilya Kaznacheev in Go-go!
Знаю, о чем говорю
источник

C

Calculon in Go-go!
Ilya Kaznacheev
Нет, достаточно интерфейс экспортируемый
А, я не так тебя понял значит
источник

IK

Ilya Kaznacheev in Go-go!
Это бывает
источник

IK

Ilya Kaznacheev in Go-go!
Каков вопрос, таков ответ
источник

IK

Ilya Kaznacheev in Go-go!
Каков стол, таков и стул
источник

АП

Александр Попов in Go-go!
если клюв - значит утка
источник

АП

Александр Попов in Go-go!
у меня на этой логике логгер работает в проекте :)
источник

ПК

Паша Калугин in Go-go!
не понял мема
источник

SO

Stanislav Ovsiannikov in Go-go!
Ilya Kaznacheev
Либо интерфейс возвращай, либо экспротируемый тип
эм, а как же "accept interfaces, return structs"?
источник

SO

Stanislav Ovsiannikov in Go-go!
это общепринятая практика делать экспортируемый интерфейс, а возвращать указатель на приватную структуру, которая реализует этот интерфейс
источник

АП

Александр Попов in Go-go!
пакет принимает интерфейс логгера с необходимыми ему бизнес методами (SuccessUpload, FailedUpload....) но реализация этих методов для всех пакетов - в 1 структуре логгера
источник

АП

Александр Попов in Go-go!
получается:
logger := logger.New()

lib.New(logger)
lib2.New(logger)
источник

АП

Александр Попов in Go-go!
и logger оборачивает внутри себя какой нить logrus, ну это уже не важно
источник

ПК

Паша Калугин in Go-go!
Зацените уровень говнокода
источник

ПК

Паша Калугин in Go-go!
источник

АП

Александр Попов in Go-go!
Паша Калугин
Зацените уровень говнокода
10 из 10 :) но я еще не смотрел
источник

ПК

Паша Калугин in Go-go!
там немного
источник

АП

Александр Попов in Go-go!
ждем пока оно прыгает
источник

АП

Александр Попов in Go-go!
блин эта скотина обновляться полезла что ли
источник