Size: a a a

NodeUA - JavaScript and Node.js in Ukraine

2020 November 28

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
тесты должны проверять что у четырехугольника после этого метода как раз ничего не поменялось. если так задумано.
Это как?
У четырёхугольника после изменения угла явно будут изменения
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
ой у прямоугольника. ну то есть тест на класс Прямоугольник как раз должен проверять что ничегошеньки не поменялось. юнит тест на класс Четырехугольник - что поменялось как ожидается
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Вот видите
А это бы только букву L затронули
Удивительно, что даже в этом чате канонические примеры вызвали споры
Так что с некоторыми буквами в solid всё не так просто
Это вам не kiss (dry тоже может накинуть флуда на вентилятор)
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
😅😁 ужас какой )))
источник

Д

Дмитрий in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Вот видите
А это бы только букву L затронули
Удивительно, что даже в этом чате канонические примеры вызвали споры
Так что с некоторыми буквами в solid всё не так просто
Это вам не kiss (dry тоже может накинуть флуда на вентилятор)
даа, припоминается чистая архитектура дядюшки боба где он новорил что код может только казаться повторяющимся, но не быть таковым на самом деле
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
ой у прямоугольника. ну то есть тест на класс Прямоугольник как раз должен проверять что ничегошеньки не поменялось. юнит тест на класс Четырехугольник - что поменялось как ожидается
Они не должны наследоваться друг от друга так же, как в случае квадрата с прямоугольником
Принцип подстановки именно об этом
Если мы прямоугольник наследуем от четырёхугольника мы даём неожиданное поведение потомку. Потому что где-то может быть написан код, который ожидает, что при изменении какого-то угла примыкающая к нему сторона поменяет длину. Мы туда пихнём прямоугольник и получим нарушение этого самого принципа
источник

С

Сергей in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Они не должны наследоваться друг от друга так же, как в случае квадрата с прямоугольником
Принцип подстановки именно об этом
Если мы прямоугольник наследуем от четырёхугольника мы даём неожиданное поведение потомку. Потому что где-то может быть написан код, который ожидает, что при изменении какого-то угла примыкающая к нему сторона поменяет длину. Мы туда пихнём прямоугольник и получим нарушение этого самого принципа
Во, отлично.  А от геометрической фигуры можем наследовать? Ну например, зачем?
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Они не должны наследоваться друг от друга так же, как в случае квадрата с прямоугольником
Принцип подстановки именно об этом
Если мы прямоугольник наследуем от четырёхугольника мы даём неожиданное поведение потомку. Потому что где-то может быть написан код, который ожидает, что при изменении какого-то угла примыкающая к нему сторона поменяет длину. Мы туда пихнём прямоугольник и получим нарушение этого самого принципа
а если нигде не написан такой код что ожидает “что при изменении какого-то угла примыкающая к нему сторона поменяет длину”. если это просто программа по выводу фигур на канвас? ей нужны четыре точки и метод .draw() и ей все равно это квадрат или неквадрат
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
а если нигде не написан такой код что ожидает “что при изменении какого-то угла примыкающая к нему сторона поменяет длину”. если это просто программа по выводу фигур на канвас? ей нужны четыре точки и метод .draw() и ей все равно это квадрат или неквадрат
То, что код не написан сейчас, не значит, что он не будет написан потом
Методу, который рисует, нужен (абстрактный) класс, от которого наследуют и прямоугольник, и четырёхугольник
В конце-концов, для конкретно рисования схожих сущностей там может быть bridge какой-нибудь, который как раз отделяет абстракцию от реализации, и реализация конкретно рисования может быть одна
источник

Ш

Шима in NodeUA - JavaScript and Node.js in Ukraine
Принцип джава скрипта - свобода
источник

С

Сергей in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
а если нигде не написан такой код что ожидает “что при изменении какого-то угла примыкающая к нему сторона поменяет длину”. если это просто программа по выводу фигур на канвас? ей нужны четыре точки и метод .draw() и ей все равно это квадрат или неквадрат
То завтра утром такой код кто то напишет
источник

TS

Timur Shemsedinov in NodeUA - JavaScript and Node.js in Ukraine
Если бы SOLID был таким простым, то мидлваров бы не придумали мамкины инженеры
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
То, что код не написан сейчас, не значит, что он не будет написан потом
Методу, который рисует, нужен (абстрактный) класс, от которого наследуют и прямоугольник, и четырёхугольник
В конце-концов, для конкретно рисования схожих сущностей там может быть bridge какой-нибудь, который как раз отделяет абстракцию от реализации, и реализация конкретно рисования может быть одна
у прямоугольника и четырехугольника можно найти штук 20 методов которые работают абсолютно одинаково для них обоих (вычисление площади, центра тяжести, длины диагонали) и только из-за одного метода про изменение угла дублировать все методы? класс
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
Timur Shemsedinov
Если бы SOLID был таким простым, то мидлваров бы не придумали мамкины инженеры
ну я поняла в чем сложность. каждый трактует как хочет
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
у прямоугольника и четырехугольника можно найти штук 20 методов которые работают абсолютно одинаково для них обоих (вычисление площади, центра тяжести, длины диагонали) и только из-за одного метода про изменение угла дублировать все методы? класс
У женщины и мужчины тоже штук двадцать методов, которые работают одинаково
Руки-ноги там, шея, ❤️, позвоночник с печенью
источник

ES

Elena Sharovar in NodeUA - JavaScript and Node.js in Ukraine
хаха, точно. ну они очевидно от Human их наследуют
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Elena Sharovar
хаха, точно. ну они очевидно от Human их наследуют
Вот именно
От одного абстрактного класса
Сами при этом не являясь наследниками друг друга (хотя адепты одной из религий могут со мной не согласиться)
источник

С

Сергей in NodeUA - JavaScript and Node.js in Ukraine
Алексей Попов
Вот именно
От одного абстрактного класса
Сами при этом не являясь наследниками друг друга (хотя адепты одной из религий могут со мной не согласиться)
Ок, давай не соглаимся)). В мед систему (банк,  или еще кудато) заводят клиента,  еще не зная паспортных данных,  больной вот вот должен поступить и в системе наслелуют поциента от human, или даже так, как раз после операции он вышел уже человеком противополжного пола 🤣. Как ты будешь перенаследовать пациента?
источник

АП

Алексей Попов... in NodeUA - JavaScript and Node.js in Ukraine
Сергей
Ок, давай не соглаимся)). В мед систему (банк,  или еще кудато) заводят клиента,  еще не зная паспортных данных,  больной вот вот должен поступить и в системе наслелуют поциента от human, или даже так, как раз после операции он вышел уже человеком противополжного пола 🤣. Как ты будешь перенаследовать пациента?
Bridge же
В объекте человека есть ссылка на его реализацию мочеполовой системы
источник

Т

Тёмыч in NodeUA - JavaScript and Node.js in Ukraine
Он в go нет наследования. И живут
источник