Size: a a a

2020 April 08

AS

Andrei 🦉 Sergeev in Go-go!
но с помощью интерфейсов можно описывать не только поведение, но еще и какие то общие проперти, т.к. у го нет других механизмов для этого
источник

p

pragus in Go-go!
Andrei 🦉 Sergeev
но с помощью интерфейсов можно описывать не только поведение, но еще и какие то общие проперти, т.к. у го нет других механизмов для этого
я понимаю :) вопрос в нейминге ) не звать же это Arearer, Perimeterer итд
источник

x

x-foby in Go-go!
pragus
А вот расскажите про нейминг интерфейсов. Канонично ими описывать поведение объектов, все эти Reader, Writer, итп. Но в go tour использование интерфейсов показывают на примере площади треугольника/прямоугольника. И вот тут вопросов 2:

1) с каким пор площадь стала поведением объекта?
2) как такой интерфейс назвать?
1. Ну сама площадь-то не является поведением, но вычисление площади — это поведение, да, ничего удивительного.
2. Каноничным, вы в курсе, думаю, является вариант с суффиксом er, то есть в данном случае Squarer с методом Square. Хотя не всегда это красиво и правильно)
2. Возможно, какой-нибудь AreaProcessor

UPD: я почему-то подумал, что речь обязательно о квадрате(
UPD2: исправил
источник

AS

Andrei 🦉 Sergeev in Go-go!
pragus
я понимаю :) вопрос в нейминге ) не звать же это Arearer, Perimeterer итд
тут как удобнее / понятнее, так и называйте
источник

p

pragus in Go-go!
а есть у нас что для генерации геттеров-сеттеров?
источник

ЛА

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

а

а кто это in Go-go!
pragus
а есть у нас что для генерации геттеров-сеттеров?
GoLand)
источник

а

а кто это in Go-go!
а вообще, что-что а генератор геттеров-сеттеров штука несложная
источник

а

а кто это in Go-go!
можно и самому написать¯\_(ツ)_/¯
источник

p

pragus in Go-go!
Локоть Анатолий
Неясно зачем он привязался к фигурам и сделал интерфейс с 2 методами сразу.
По идее должно быть 2 типа интерфейса  - на вычисление площади и на периметр и пофиг, какая фигура будет использовать. Композиция на то и композиция
Согласен, но это вторично. Вопрос скорее про то, что площадь и периметр - это свойство(пусть и вычисляемое).  Теперь представим, что у каждого объекта есть еще и цена. Будем делать интерфейс Price?
источник

а

а кто это in Go-go!
pragus
Согласен, но это вторично. Вопрос скорее про то, что площадь и периметр - это свойство(пусть и вычисляемое).  Теперь представим, что у каждого объекта есть еще и цена. Будем делать интерфейс Price?
почему нет?
источник

ЛА

Локоть Анатолий... in Go-go!
pragus
Согласен, но это вторично. Вопрос скорее про то, что площадь и периметр - это свойство(пусть и вычисляемое).  Теперь представим, что у каждого объекта есть еще и цена. Будем делать интерфейс Price?
Вся вычисляемая логика может быть вынесена в интерфейсы, тоже не вижу противоречий
источник

а

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

ЛА

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

а

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

а

а кто это in Go-go!
io.(Read/Write)Closer тот же
источник

T

Tim in Go-go!
Локоть Анатолий
За такой интерфейс в го наверное убьют) это ведь здесь стараются делать максимально простые и понятные интерфейсы в идеале с 1 методом, типа ридер, райтер
А как же ReadWriter ))
источник

а

а кто это in Go-go!
ReadWriteCloser
бгг
источник

N

Nioray in Go-go!
Нет смысла делить на миллион интерфейсов, если это не нужно здесь и сейчас.
источник

а

а кто это in Go-go!
а кто это
ReadWriteCloser
бгг
источник