Size: a a a

2020 April 08

x

x-foby in Go-go!
Локоть Анатолий
За такой интерфейс в го наверное убьют) это ведь здесь стараются делать максимально простые и понятные интерфейсы в идеале с 1 методом, типа ридер, райтер
Не, нормальное имя.
Вряд ли у вас такой интерфейс будет в каком-нибудь фин-техе, он, скорее будет в каком-то узконаправленном проекте, где Figure будет всем понятно
источник

а

а кто это in Go-go!
когда фигура всегда имеет площадь и периметр
источник

ЛА

Локоть Анатолий... in Go-go!
Tim
А как же ReadWriter ))
Ну это составной интерфейс
источник

АС

Артур Саляхов... in Go-go!
Добрый день. Есть какие-нибудь аргументы в пользу того, чтобы не хранить ссылку на sql.Tx в контексте? Знаю, что пулл соединений к базе хранить там не нужно, то sql.Tx относится только к текущему соединению.
источник

ЛА

Локоть Анатолий... in Go-go!
а кто это
не убьют.
Интерфейсы с более чем одним методом существуют и вполне себе спокойно существуют
Что-то такое слышал на мериканском гоферконе про паттерны программирования
источник

ЛА

Локоть Анатолий... in Go-go!
а кто это
когда фигура всегда имеет площадь и периметр
Вот сразу проблема сложных интерфейсов. Проблема предположений, которые могут измениться со временем.
Лучше ничего не утверждать, а просто считать площадь и периметр
источник

x

x-foby in Go-go!
Локоть Анатолий
Вот сразу проблема сложных интерфейсов. Проблема предположений, которые могут измениться со временем.
Лучше ничего не утверждать, а просто считать площадь и периметр
Так это же не предположение, а факт
источник

ЛА

Локоть Анатолий... in Go-go!
x-foby
Так это же не предположение, а факт
Факт, не относящийся к решению задач периметра и площади. Можно сущностей наплодить, которые описывают чью-то картину мира, только зачем
источник

а

а кто это in Go-go!
Локоть Анатолий
Вот сразу проблема сложных интерфейсов. Проблема предположений, которые могут измениться со временем.
Лучше ничего не утверждать, а просто считать площадь и периметр
интересно, какие методы по-вашему должны быть у скажем, списка
источник

x

x-foby in Go-go!
Локоть Анатолий
Факт, не относящийся к решению задач периметра и площади. Можно сущностей наплодить, которые описывают чью-то картину мира, только зачем
Так вам никто не предлагает вводить интерфейс с площадью и периметром в задачах, не требующих площади и периметра. Всё по ситуации, само собой.
источник

ЛА

Локоть Анатолий... in Go-go!
а кто это
интересно, какие методы по-вашему должны быть у скажем, списка
Композиция предполагает объединение по действиям. я бы не выделял сущность список, а смотрел бы на то, что нужно в контексте списка вычислять. Сортировка, например и тп
источник

p

pragus in Go-go!
Локоть Анатолий
Вся вычисляемая логика может быть вынесена в интерфейсы, тоже не вижу противоречий
Поясню откуда вопрос:

type Item struct { Price, Count int }
type ItemExtended struct { Item, Foo, Bar int }


и в методах вроде Baz(p *ItemExtended) int { return p.Price * p.Count } мы не можем передать Item
источник

ЛА

Локоть Анатолий... in Go-go!
PriceStrategy логично выглядит, может исходное значение цены принимать как аргумент. Хотя грань тонкая, соглашусь
источник

а

а кто это in Go-go!
pragus
Поясню откуда вопрос:

type Item struct { Price, Count int }
type ItemExtended struct { Item, Foo, Bar int }


и в методах вроде Baz(p *ItemExtended) int { return p.Price * p.Count } мы не можем передать Item
в таком случае либо у Item и ItemExtended должны быть реализации Baz, либо соответствующие геттеры
источник

RS

Roman Sharkov in Go-go!
кто-нибудь настраивал VSCode таким образом, чтобы подсвечивание ошибок в коде было не в real-time а по hot-key’ю?
источник

NK

Nur Kutlugallyamov in Go-go!
Roman Sharkov
кто-нибудь настраивал VSCode таким образом, чтобы подсвечивание ошибок в коде было не в real-time а по hot-key’ю?
make lint в консоль?)
источник

RS

Roman Sharkov in Go-go!
Nur Kutlugallyamov
make lint в консоль?)
поясни
источник

NK

Nur Kutlugallyamov in Go-go!
Roman Sharkov
поясни
.PHONY: lint
lint:
 $(go env GOPATH)/bin/golangci-lint run ./...
источник

RS

Roman Sharkov in Go-go!
Nur Kutlugallyamov
.PHONY: lint
lint:
 $(go env GOPATH)/bin/golangci-lint run ./...
я про подсветку тех-же синтактических ошибок которая обычно в real time работает с плагином Go для vscode. golangci-lint это про другое
источник

ЛА

Локоть Анатолий... in Go-go!
Roman Sharkov
я про подсветку тех-же синтактических ошибок которая обычно в real time работает с плагином Go для vscode. golangci-lint это про другое
Кстати у меня он сейв работает из коробки
источник