Emin Zalaev
Не ну это
Легаси это игра про гарри поттера
А точно. Вчера играл кстати
Alex
Уж лучше процедурные портянки, чем абстрактные фабрики, возвращающие интерфейсы к которым прикрученно уже всё остальное))
Ivan
Уж лучше процедурные портянки, чем абстрактные фабрики, возвращающие интерфейсы к которым прикрученно уже всё остальное))
В итоге эти портянки ни расширить, ни поменять в них ничего, иначе все сломается, а только заново переписывать)) то есть уже солид поплыл
DreamingKitten
В итоге эти портянки ни расширить, ни поменять в них ничего, иначе все сломается, а только заново переписывать)) то есть уже солид поплыл
ядро линукса почти целиком из процедурных портянок и состоит. и расширяется и меняется как надо. не в парадигме организации кода дело, а в дисциплине среди кодеров.
Alex
В итоге эти портянки ни расширить, ни поменять в них ничего, иначе все сломается, а только заново переписывать)) то есть уже солид поплыл
Если осилить встраивание на 5%, то легко и расширить и поменять. Но ООП в Go в 1000 раз сложнее осилить, чем в Java, поэтому мало кто использует.
DreamingKitten
во-во. Сначала придумали язык без ООП а теперь придумывают костыли как писать на нём в ООП-стиле 🤣
Владимир
В итоге эти портянки ни расширить, ни поменять в них ничего, иначе все сломается, а только заново переписывать)) то есть уже солид поплыл
тут еще бабушка надвое сказала, что проще - поправить процедурную портянку или бороться с протекшей абстракцией
Ivan
тут еще бабушка надвое сказала, что проще - поправить процедурную портянку или бороться с протекшей абстракцией
Ну так же она надвое сказала, что проще абстракцию поправить, чем раскручивать процедурное спагетти
Ivan
во-во. Сначала придумали язык без ООП а теперь придумывают костыли как писать на нём в ООП-стиле 🤣
Просто парадигма, будь то фп или ооп, всегда лучше, чем голая процедурщина
Ivan
любые обобщения - полная фигня
Ну можно на ассемблере тогда писать, там их точно нет)
Nikita
ядро линукса почти целиком из процедурных портянок и состоит. и расширяется и меняется как надо. не в парадигме организации кода дело, а в дисциплине среди кодеров.
Контрпример: есть клиент (просто структрука с методами) вам нужно собирать метрики с того как его используют. Вопрос это будет легче сделать когда это интерфейс или конкретный тип?
Sergey
Без абстракций код представляет собой процедурные портянки, которые пишут джуны))
Как показывает практика, наезды на легаси, в первую очередь показывает крайне низкую квалификацию наезжающего.
Ivan
Как показывает практика, наезды на легаси, в первую очередь показывает крайне низкую квалификацию наезжающего.
Как показывает практика, защищающие любое легаси по факту того, что оно легаси, в первую очередь показывает крайне низкую квалификацию защищающего
Владимир
Как показывает практика, наезды на легаси, в первую очередь показывает крайне низкую квалификацию наезжающего.
Есть еще хороший индикатор джуна - это использование приема "reductio to assembler" Пример: - смотрите на мой новый фреймворк, он изменит вообще все в вашем написании приложений - это оверинженеренное говно, на которое его майнтейнер забьет через год - ну тогда пишите на ассемблере
Владимир
такой частный случай доведения до абсурда
Artem
это чат Го, думал хотя бы в Го люди поняли, что нет смысла прыгать в крайности, а нужен баланс везде. Код без абстракций - слабый код, код где абстракции ради абстракций - слабый код.
Anton
Просыпается кто то утром и такой думает, наделаю ка я абстракций ради абстракций.
DreamingKitten
Просыпается кто то утром и такой думает, наделаю ка я абстракций ради абстракций.
вам смешно а тут в соседнем чате (по самому языку) чуть не половина таких вопросов. какой паттерн применить, как на чистой архитектуре писать и т.п. зачастую люди этим озабочиваются даже до того, как поняли суть задачи. декомпозиция? не, не слышал.
DreamingKitten
такое ощущение что они вычисление 2+2 будут писать через три абстрактных фабрики -- по одной на каждый операнд и одну на оператор
DreamingKitten
и это в языке, который, мягко говоря, не поощрает увлечение абстракциями. я представляю какой ужас творится у плюсовиков и джавистов
Ivan
такое ощущение что они вычисление 2+2 будут писать через три абстрактных фабрики -- по одной на каждый операнд и одну на оператор
Не знаю, что за чат, но люди приходят к вопросам архитектуры уже после того, как навидались неподдерживаемых портянок. И их точно на эти вопросы навели не выражения по типу 2+2)
DreamingKitten
ещё как можно.
DreamingKitten
Именно поэтому го в итоге сделал дженерики))
вангую что через пару лет появится какой-нибудь форк ObjectiveGO где будут классы, наследование, полиморфизм вот это всё
Alex
В Go за 10 лет из важных изменений только родной контекст да обработка ошибок. Можно не переживать, никакого objective мусора не завезут.
тот самый Лёша
Ребята привет . Подскажите хороший курс по go пожалуйста
Alex
(ещё тулинг конечно, go.mod, gopls и т.д. но в данном вопросе они за скобками)
Alex
Ребята привет . Подскажите хороший курс по go пожалуйста
Не тот чят, но у Todd McLeod хороший. Если книга пойдет - gopl.io
Dima
Беседа о ООП высшего сорта, приятно было почитать. Вопрос с дизайном объяснятся достаточно просто рисуется воображаемый график где слева находиться огромная процедура, а справа код из тысяч микро-объектов не связанных между собой. И то и то крайности. Хороший код где-то по середине в зависимости от практической ситуации. Данный вопрос с примерами как следует рассматривает Sendi Metz, даже книга посвящена этому "99 Bottles of OOP. A Pracitcla Guide to Object-Oriended Design" Sandi Mez & Katrina Owen.
пока
Наследование вообще зло, сколько продуктов уже померло из-за него
All
Во первых что вам мешает вкладывать структуры? Можно переопределять поля и методы, чем не наследование Да щас можно подушнить про формальное определение наследования, но подобный функционал есть
All
Наследование вообще зло, сколько продуктов уже померло из-за него
Что плохого в наследовании? Плюсы и питон мертвы по твоему?
All
Джава мб?
Alex
А зачем нам в го наследование?
оно же в паттернах, а без них жизни нет😂😂😂
Alex
Что плохого в наследовании? Плюсы и питон мертвы по твоему?
в том, что слишком легко скатиться в шесть уровней наследования, а удержать в уме модель поведения конечного объекта со всеми нюансами сложно
All
в том, что слишком легко скатиться в шесть уровней наследования, а удержать в уме модель поведения конечного объекта со всеми нюансами сложно
Зато объекты хорошо формализованы, нет дублирования кода, и легко править то что нужно, если знаешь что править
All
Миллиард структур запоминать и фиксить тоже весьма неэффективно
Alex
вы же сами про встраивание и переопределение методов писали, дублировать не надо, только уровень будет один
Alex
главное встраивать анонимно)
Alex
а то как в код не гляну, mutex встроен как m, mu или mut🙈
All
Во во, ключевое, если знаешь что править
Ну если не знаешь - это твоя проблема, а не языка
пока
А когда на проект приходят другие люди то вникают в проект около месяца
Владимир
Зато объекты хорошо формализованы, нет дублирования кода, и легко править то что нужно, если знаешь что править
>легко править то что нужно, если знаешь что править вы сейчас просто все программирование описали
All
По мне так сложнее разбираться в языке с динамической типизацией, особенно без документации
All
и медицину
Слушай, тут немного другое Тело не человек проектировал, а господь бог
Null
#вакансия #работа #разработчик #backend #developer #middle #senior #golang #PostgreSQL #docker Формат работы: удаленка Занятость: part, почасовка Зарплата: 1000 руб/час (в дальнейшем возможен переход на полную ставку и рост до тимлида с построением команды «под себя») Чем предстоит заниматься: ⁃ Создание backend-сервисов на #golang ⁃ Настройка серверов, поставка в прод Для понимания работ, первой задачей будет: ⁃ Создание сервиса email-авторизации с отправкой письма на email ⁃ Push’и Плюсом будет участие в проектах по разработке backend’а для мобильных приложений. контакт: @vfrov
Alexey
А когда на проект приходят другие люди то вникают в проект около месяца
это продукта касается, а на галере такое не прокатит)
Митяй
Практика от rebrain. Basic и advanced
Добавь что что 65к или более это еще стоит
Roman
Добавь что что 65к или более это еще стоит
Вопрос был - я ответил. Фильмы в кинотеатрах вон тоже от 500 руб за штуку, никто не ходит, а все видели.
пока
Roman
Спасибо, надо будет своих вытащить. Я на первый ходил, было круто.
пока
Если вы из Мск, могу посоветовать кинотеатр
Alexander
Если вы из Мск, могу посоветовать кинотеатр
Посоветуйте плиз , тоже хотим
пока
DreamingKitten
А зачем нам в го наследование?
не знаю кому как, а лично меня отсутствие в языке конструкции struct extends иногда вынуждает лепить слабочитаемые костыли
Alex
например когда?
DreamingKitten
например когда?
это псевдокод но я думаю идея понятна TNPC = struct{ ... Health uint8 function Say() ... } ... TWarrior = struct extends(TNPC) { ... } TPeasant = struct extends(TNPC) { ... } ... p TPeasant (p as TNPC).Health-- ... w TWarrior (w as TNPC).Say("surrender")
Alex
анонимное встраивание + промоушен должны помочь
DreamingKitten
костыли