Признаки монолита в коде

  Рет қаралды 10,107

S0ER

S0ER

Күн бұрын

Пікірлер: 65
@FerelUltra
@FerelUltra 4 жыл бұрын
Во имя Монолита! Мы любим тебя, Монолит. Монолит, зачем ты нас покинул?
@fallenangel1395
@fallenangel1395 4 жыл бұрын
Твоё время пришло! Иди ко мне!
@80lk
@80lk 4 жыл бұрын
блть, я ожидал увидеть здесь эту клоунаду
@РоманБодю
@РоманБодю 4 жыл бұрын
Доктор, у меня монолит... Ну так загадывай желание! Я пробовал, загадал, чтобы мой код стал хорошим. Непомогло.
@pymentor.
@pymentor. 4 жыл бұрын
@@fallenangel1395 ты получишь то, что заслуживаешь)
@purplep3466
@purplep3466 4 жыл бұрын
Оооо боже!! Я над этим задумывался, но не думал, что до коментов это дойдет!
@itcloudguy
@itcloudguy 4 жыл бұрын
Добавил видео в избранное (что бывает крайне редко). Прослушав, уже вижу проблемы в своем коде. Добавил кучу рефакторинга в свой календарь. Спасибо большое.
@maestro256
@maestro256 4 жыл бұрын
Монолит это не плохо, это же одна из вариаций архитектуры (в противовес микросервисной, например, которая намного дороже по реализации и производительности). Монолит может быть с множеством мелких модулей, хорошим разделением ответственностей и грамотными интерфейсами везде. И на Spring, например, который способствует низкому зацеплению и принципам SOLID. То, о чем вы говорите, называется просто плохой код :) Ибо сильные зависимости между классами - проблема программиста, а не типа архитектуры.
@maestro256
@maestro256 4 жыл бұрын
В моём проекте монолит, при этом средний размер класса равен 73 строки, стандартное отклонение равно 80, и это из-за легаси кода с большими классами, а если их выпилить, то и отклонение и средний размер вообще будут равны 70. Так что при монолите ещё как возможен слабосвязанный код.
@trebiax7960
@trebiax7960 4 жыл бұрын
Мне кажется вы немного путаете монолитность кода и архитектуры. В видео шла речь именно о коде, а вы приводите в пример микросервисную архитектуру. Монолитная архитектура - согласен, она может быть выстроена структурно, хорошо. Но если сравнить монолитный код и "не монолитный", то тут выбор очевиден, а про архитектуру уже можно поспорить где и что использовать.
@maestro256
@maestro256 4 жыл бұрын
CNET автор говорит "монолит". Монолит это тип архитектуры. Конечно, он хорошо понимает о чем говорит, и всё хорошо кроме терминологии. В русском языке, увы, есть такое наложение. Тот монолит, о котором он говорит можно называть "слипшийся говнокод" 😆
@trebiax7960
@trebiax7960 4 жыл бұрын
Да, он говорит про монолит, и да, монолит это тип архитектуры. Но часто рассматривают код как монолит, собственно что и делает автор видео. Поэтому монолитность кода и архитектуры это разные вещи.
@Aleksanderis
@Aleksanderis 4 жыл бұрын
Тоже передёрнуло с самого начала, не понял почему прицепились к "монолиту", который сам по себе монолит как монолит.. Судя по-всему имелись ввиду, что-то типа "god object(s)" и "ball of mud". Да, это могут быть последствия монолита, но с таким же успехом можно наговнокодить и с другими архитектурами.
@amxx8335
@amxx8335 4 жыл бұрын
тот самый момент, когда кодишь на языке, в котором даже ООП нету, и слышишь что-то про классы, паттерны, монолиты, и полиморфизм.
@SaLaGaDH
@SaLaGaDH 4 жыл бұрын
Асм?
@faramozayw1654
@faramozayw1654 4 жыл бұрын
А как связан полиморфизм и ООП?) В ООП не весь полиморфизм, есть ещё параметрический и он прекрасен. Паттерны тоже не являются собственностью ООП Монолит,я думаю, можно сделать не только в ООП 🤔
@amxx8335
@amxx8335 4 жыл бұрын
@@faramozayw1654 термины не совсем знакомые... А в видео они упоминаются.
@itcloudguy
@itcloudguy 4 жыл бұрын
Услышав слово "монолит", что можно делать здесь с языком без ООП? Это же про абстракцию.
@Asiro-S
@Asiro-S 4 жыл бұрын
@@itcloudguy чем тебе процедурка и фп не угодили?
@thomwhite4565
@thomwhite4565 4 жыл бұрын
То чувство когда ты всё сделал правильно! Спасибо, за видео, совпадений по монолиту нет, я как раз свой монолит с ноля переписываю ))
@mr.plague8134
@mr.plague8134 4 жыл бұрын
Монолит есть? А если найду?
@tsoer2976
@tsoer2976 4 жыл бұрын
В большинстве писал Монолитом. И даже не подозревал. Записался в патроны
@thomwhite4565
@thomwhite4565 4 жыл бұрын
Соер, остановись! Я не успеваю смотреть твои видосы. дай хоть время в сортир сходить!
@АлексДжаванов
@АлексДжаванов 4 жыл бұрын
Купи горшок! И ходи в него...
@ZealousSanity
@ZealousSanity 4 жыл бұрын
А что мешает оттуда(отсюда😄) и смотреть?
@танунахепта
@танунахепта 4 жыл бұрын
Молодец братан, видно в себя пришёл. Ещё надо этот видос при своих запустить и надеть очки...ааа а где очки? Не ну так не пойдёт, мне скажут что это новый чувак.
@hardhant
@hardhant 4 жыл бұрын
Прямо в точку))) испытал на своей шкуре уже это
@Vicont4063
@Vicont4063 4 жыл бұрын
Сильный программист, пади архитектор.
@michaelcorleone3741
@michaelcorleone3741 4 жыл бұрын
Все четко... но.... от видосов хочется спать( чуток жизни, пожалуйста, эмоций.. и будешь топчик
@ruslan_yefimov
@ruslan_yefimov 4 жыл бұрын
Как сделать игруху для курсача, или презентацию какой-то проги, то монолит - самое то
@boycovclub
@boycovclub 4 жыл бұрын
зайди в гитхаб и скопируй код
@anzarsh
@anzarsh 4 жыл бұрын
А разве копирование кода и передача еще одного параметра это не решение одной и той же задачи разными способами? Т.е. это как бы противоположности, нет?
@monsterbesel
@monsterbesel 4 жыл бұрын
Если сейчас подпишусь на патрон за 5 баксов, получу доступ к записи стрима по архитектуре?
@Unerty
@Unerty 4 жыл бұрын
Ох, спасибо
@Danilljune
@Danilljune 4 жыл бұрын
Блин у меня также глаз прикрываться начал правый
@olegpopov7860
@olegpopov7860 4 жыл бұрын
Кажется я не туда зашел. Слова слышу, речь не понимаю. Класс, интерфейс, это из Си?
@itcloudguy
@itcloudguy 4 жыл бұрын
Нет. Это для ООЯП.
@ivanaytzhanov8846
@ivanaytzhanov8846 4 жыл бұрын
выходит, микросервисы не нужны? просто пишем нормальный код?
@clickabelno
@clickabelno 4 жыл бұрын
лайк
@alexpapilov2150
@alexpapilov2150 4 жыл бұрын
1:42 сильная связанность
@S0ERDEVS
@S0ERDEVS 4 жыл бұрын
Я сказал все верно - сильное зацепление и слабая связность. Связанность и зацепление (coupling) это одно и то же.
@alexpapilov2150
@alexpapilov2150 4 жыл бұрын
​@@S0ERDEVS ладно, ладно, все ровно ООП sucks! шарлотанская хрень придуманная разработчиками чтоб защититься от потока желающих тоже зарабатывать денюшки. Так что называйте как хотите, хоть слабая связность хоть сильная.. все ровно это ничего не значит, и не решает никаких проблем. только их создает.
@alexpapilov2150
@alexpapilov2150 4 жыл бұрын
логика: "Связанность и зацепление это одно и тоже" - ваши слава. При этом в видео вы даете определение "монолиту", как чему то что имеет "сильное зацепление и слабую связность" (при этом из вашего комента, связность и зацепление это одно и тоже.. айяйяй ну и срам). Да признайте вы уже что 10 лет потратили на изучение бессмыслицы, не тащите эту ношу до конца жизни =))
@S0ERDEVS
@S0ERDEVS 4 жыл бұрын
@Alex Papilov, поздравляю, вы теперь поняли почему я использую термин "зацепление",а не "связАННость" (по английски Coupling), а есть еще термин свяЗНость (cohesion). И да "связАННость" и "свяЗНость" - это разные термины, такая вот тонкость, которая взрывает мозг новичкам в вопросах архитектуры.
@dmitry.gashko
@dmitry.gashko 4 жыл бұрын
​@@alexpapilov2150 Какая разница ООП или нет? В той или иной степени это актуально хоть для ООП, хоть для чего угодно.
@fpv_am
@fpv_am 4 жыл бұрын
блииииииииииин вот бы минуточек 20 бы такой синъёр бы погонял меня по моим кодам, хотя бы чему-то новому бы научится у опытного человека
@АлексДжаванов
@АлексДжаванов 4 жыл бұрын
А что такое монолит?
@SHTORM19ful
@SHTORM19ful 4 жыл бұрын
Ааа, так это монолит не из сталкера
@purplep3466
@purplep3466 4 жыл бұрын
прокрастинатор детектед
@Andrey_142
@Andrey_142 4 жыл бұрын
Сем?
@blinddeveloper6488
@blinddeveloper6488 4 жыл бұрын
@S0ER но веть второй пункт может быть и полезен на пример когда программа должна работать при Болие слабым желези
@maestro256
@maestro256 4 жыл бұрын
😆
@maxon861
@maxon861 4 жыл бұрын
плАчу
@adeusexmachina
@adeusexmachina 4 жыл бұрын
Я своим джуниорам обьяснял это на примере бесполого класса. Изначально классы, которые используют поведенческие параметры имеют право на жизнь, если они не искажают исконную суть класса. Рассмотрим плохой пример о котором говорится в видео: _ Создали Класс - "Бог", который 100% времени использовался, как божество мужского рода. Но вот кейсы продукта расширились и теперь в 10% случаев нужна "Богиня". Денег и времени на пересоздание всего "Бога" нет. Или нет компетентного специалиста, который создал Бога. Но решено, что в целом на данный момент "Богиня" вполне может вести себя как Бог, и лишь в экзотических случаях у Бога будет дизайн женщины. _ Плохим решением будет добавление параметра - размер груди (если 0 - то Бог, если больше 1 то Богиня). Добавляем в интерфейс инициализации этот параметр, а в поведенческие методы добавляем две развилки, которые в зависимости от параметра груди учит вести Бога как Богиня в тех 10% случаев, когда это надо клиенту продукта. _ Казалось бы почему бы и нет? Ведь дешево и быстро. Но как правило аппетит приходит во время еды. И после появления вариативности и гибкости на уровне кейсов применения продукта, новый кейс Богини начинает масштабироваться и обрастать новыми поведениями, свойственными только для божества женского пола. _ И вот теперь уже нужен ещё и ещё параметр, который например определяет такой аспект Божества, как "скала" или "пещера". И продолжением плохой практики будет добавление ещё и ещё параметров в интерфейс инициализации, который укажет 1 (скала), 0 (пещера) и т.д и т.п. А в поведенческие методы добавятся новые вариативности и развилки, которые будут учить Бога делать несвойственные для него вещи, например рожать новых божеств. При этом на уровне кода - к классу по прежнему обращаются как "Бог", ведь изначально н им был. _ Таким образом формируется трансексуальный бесполный класс, который постепенно отходит от своего естества и превращается в многоликое существо, имеющее разные признаки в том числе и единорога при желании заказчика. _ И всё это издержки стартапного подхода с расширением кейсов применения продукта при уменьшающемся бюджете и сроках на разработку. От такого не уйти в экономных стартапах. Главное по мере получения бюджета найти волю и собрать команду для ликвидации технических долгов или пере-проектирования продукта с учетом кейсов, которые изначально даже не планировались. _ Не все проекты изначально имеют штат архитекторов или программистов, способных реализовать микросервисность на уровне кода и поддерживать всё это и масштабировать быстро и самим, пока ещё не создан штат программистов. Клеймить себя за это не нужно, если вы пишете что-то для себя или кому-то бесплатно. Это путь ошибок который вы должны пройти и осознать. Лучший опыт это опыт своих ошибок. Главное не бегать по граблям всю карьеру. _ И на последок доброкачественный пример использования класса Бога, где параметрическое определение его сущности не является плохим примером. Например имеем класс Бог, который заранее известно, что в разное время может обладать тремя сверх способностями на усмотрение пользователя: метать огонь, молнию или молот. Нет смысла плодить для каждой способности отдельного Бога, если эта вариативность не является супер-массивной по отношению ко всему телу класса и не меняет сущность класса до неузнаваемости, превращая его в многоглавое чудовище как в первом примере.
@adeusexmachina
@adeusexmachina 4 жыл бұрын
@@dmitrypronichev4752 хаха, нет патента ещё нет, пользуйтесь наздоровье) а если усовершенствуете способ, делитесь, потому как есть джуны которые прям схватывают это на лету, а есть те, кто только когда создадут своего франкенштейна вспомнят и поймут о чем я им говорил.
@Qusbaz-zg2nv
@Qusbaz-zg2nv 4 жыл бұрын
5 минут бесполезной болтовни, не важно как ты пишешь код, главное его стабильная работа, вспомните слова Билла
@arseniikaurov1686
@arseniikaurov1686 4 жыл бұрын
Пиши на bytecode.
@S0ERDEVS
@S0ERDEVS 4 жыл бұрын
А ведь глубокая мысль, я пошел дальше - неважно что ты ешь, главное это стройная фигура! )
@pavelkostetskiy7561
@pavelkostetskiy7561 4 жыл бұрын
@Юрий только если ты пишешь код, который не нужно будет поддерживать))
@johndavids6297
@johndavids6297 4 жыл бұрын
@@S0ERDEVS Не уместное сравнение, было бы правильнее сказать: - Не важно что ты ешь, главное это стабильная работа организма.
@РоманФетисов-и8у
@РоманФетисов-и8у 4 жыл бұрын
@@johndavids6297 "стройная фигура" один из признаков стабильной работы организма )
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН
The evil clown plays a prank on the angel
00:39
超人夫妇
Рет қаралды 53 МЛН
Enceinte et en Bazard: Les Chroniques du Nettoyage ! 🚽✨
00:21
Two More French
Рет қаралды 42 МЛН
Description of very smart people. Psychology lectures.
10:06
Библиотека душеполезных поучений
Рет қаралды 908 М.
Проектирую архитектуру чата
16:28
6 важных структур данных
17:25
S0ER
Рет қаралды 93 М.
Структура файлов и каталогов в Linux
20:28
Aleksey Samoilov
Рет қаралды 435 М.
When you have a very capricious child 😂😘👍
00:16
Like Asiya
Рет қаралды 18 МЛН