Size: a a a

2020 May 21

C

Calculon in Go-go!
Просто хочу попытаться по нормальному объяснить человеку почему так делать не стоит
источник

ЛА

Локоть Анатолий... in Go-go!
Вообще похоже на нарушение принципа единственной ответственности (s) в solid, но может и точнее есть определенние
источник

C

Calculon in Go-go!
Локоть Анатолий
Вообще похоже на нарушение принципа единственной ответственности (s) в solid, но может и точнее есть определенние
Тоже об этом думал
источник

C

Calculon in Go-go!
Имхо это не то
источник

C

Calculon in Go-go!
Single responsibility это про то какую функцию выполняет сущность
источник

C

Calculon in Go-go!
Мой кейс не нарушает single responsibility
источник

BT

Bohdan Turchyk in Go-go!
Calculon
Single responsibility это про то какую функцию выполняет сущность
не совсем так
источник

BT

Bohdan Turchyk in Go-go!
Calculon
Как называется случай, когда сущность имеет больше возможностей чем ей нужно для работы?
Типо на вход функции бросаем всю структуру данных, вместо 3 необходимых полей, чото в таком духе
объясни через information hiding
источник

ВС

Владимир Столяров... in Go-go!
Calculon
Просто хочу попытаться по нормальному объяснить человеку почему так делать не стоит
Я помню про то, что есть антипаттерн "класс бога" (вроде так назывался)
источник

BT

Bohdan Turchyk in Go-go!
Владимир Столяров
Я помню про то, что есть антипаттерн "класс бога" (вроде так назывался)
god object, но это тоже не совсем то
источник

ВС

Владимир Столяров... in Go-go!
Видимо похожий случай
источник

DS

Dmitry Soloma in Go-go!
Calculon
Как называется случай, когда сущность имеет больше возможностей чем ей нужно для работы?
Типо на вход функции бросаем всю структуру данных, вместо 3 необходимых полей, чото в таком духе
приведите реальный пример
источник

C

Calculon in Go-go!
Dmitry Soloma
приведите реальный пример
Я привел
источник

C

Calculon in Go-go!
Функция, имеющая доступ к полям, которые ей не нужны
источник

DS

Dmitry Soloma in Go-go!
Calculon
Функция, имеющая доступ к полям, которые ей не нужны
Все зависит от контекста. Если она сейчас не нуждается в доп полях, со временем они могут ей понадобится, что тогда? Тут реальный кейс нужен
источник

AK

Anton Kucherov in Go-go!
Если есть структура и надо сделать с несколькими ее полями что-то, почему не сделать это методом этой структуры? 🤔
источник

C

Calculon in Go-go!
Окей, приведу другой пример
Есть структура X с методами A() A
B() B
C() C
Есть функция Foo, ей для работы нужна структура B.
Правильно было бы сделать так:
Foo(x.B())
Но чувак делает так:
Foo(x *X) {
b := x.B()
}
источник

C

Calculon in Go-go!
Т.е. Foo имеет доступ ко всем методам и полям X.
У структуры X есть метод LaunchNuclearRockets()
источник

C

Calculon in Go-go!
Получается что из любого куска кода можно запускать ракеты
источник

C

Calculon in Go-go!
Это вообще не круто, верно
источник