Двойные стандарты АйТи

  Рет қаралды 279,826

ExtremeCode

ExtremeCode

Күн бұрын

Пікірлер
@ExtremeCode
@ExtremeCode 3 жыл бұрын
Подпищек поставит лайк, отпищек комментарий P.S. А могло бы выйти 19 роликов по 30 секунд
@АртёмВитвиев
@АртёмВитвиев 3 жыл бұрын
А давай теперь 19 роликов по 30 секунд.
@Icmana
@Icmana 3 жыл бұрын
Ля, ты ни чего не понимаешь, мог бы ролики записать по слову, а затем смонтировать видео нормально, а то за 9+ мин очень часто повторяешься, не соблюдаешь принцип единственной ответственности
@kianseibel2236
@kianseibel2236 3 жыл бұрын
@@Icmana как боженька смолвил. Развелось ютуберов-самоучек :D
@NoldoWalker
@NoldoWalker 3 жыл бұрын
Как же жизненно (работаю с монструозным легаси документооборота). Во имя диалектики оставил и лайк, и комментарий.
@NoldoWalker
@NoldoWalker 3 жыл бұрын
@@Icmana сразу видно неопытного масленка, записываешь 32 буквы и нарезаешь из них какой угодно видос.
@yamuru22
@yamuru22 3 жыл бұрын
«Собрались злодеи, обмазавшиеся своим большим опытом в ИТ. Набрали паттернов, лекций, и книг, чтобы оберегать их оргию. И пируют»
@neaf1sss
@neaf1sss 3 жыл бұрын
Ахахахахах. Лев Толстой о программировании)
@batfist6595
@batfist6595 3 жыл бұрын
XD
@NerZul121_plus
@NerZul121_plus 3 жыл бұрын
@@neaf1sss нет, блин, волк худой
@neaf1sss
@neaf1sss 3 жыл бұрын
@@NerZul121_plus нет, блин, Сернатурал Зименен
@inbuckswetrust7357
@inbuckswetrust7357 3 жыл бұрын
Это их хлеб как и хлеб афтора пороть горячку ;)
@notthugnotthug364
@notthugnotthug364 3 жыл бұрын
19 роликов по 30 сек будем считать так
@baurerzhan6968
@baurerzhan6968 3 жыл бұрын
17, вычтем 2 ролика, там реклама каждые по 30 секунд
@АлександрПотеруха
@АлександрПотеруха 3 жыл бұрын
Ну смотря с чего начать считать их вполне 20 может оказатся
@subscriberswithoutvideos-tv3lg
@subscriberswithoutvideos-tv3lg 3 жыл бұрын
может 38 по 15 секунд?
@chumakov_mikhail
@chumakov_mikhail 3 жыл бұрын
Все эти правила, принципы и парадигмы программирования полезно знать, чтобы понимать, где и как их нужно сознательно нарушить.
@monlewi1976
@monlewi1976 3 жыл бұрын
top
@НикитаБелов-ч7м
@НикитаБелов-ч7м 3 жыл бұрын
Как сказал Барбосса, кодекс - это свод указаний, а не жестких законов xD
@boriskorotaev1279
@boriskorotaev1279 3 жыл бұрын
Золотые слова
@vladislavb5471
@vladislavb5471 3 жыл бұрын
У сферы ИТ 2 врага: фронтендеры и бэкендеры
@NoldoWalker
@NoldoWalker 3 жыл бұрын
еще фулстаки
@artursword3288
@artursword3288 3 жыл бұрын
да и вообще все эти "кодеры" ЗЛО, я ЩИТАЮ что в команде должны быть ТОЛЬКО бизнес аналитики и МАНАГЕРЫ, код писать в 2021 ЧОООО??? МОВЕТОН.. главное же ЯЗЫКОМ уметь чесать (так сказать софтскилзы развивать) ;))))))))))))
@witetigre1
@witetigre1 3 жыл бұрын
@@artursword3288 Не так. "Код писать в 2 ка 21 ЧТООО???"
@lacrimamoza
@lacrimamoza 3 жыл бұрын
как автотестИр целиком и полностью согласен - наговнокодят, а мне потом свой говнокод писать
@antonchehov5536
@antonchehov5536 3 жыл бұрын
Ещё и хрюши.
@KravchenkoIgor
@KravchenkoIgor 3 жыл бұрын
То, что тесты прошли успешно, означает одно - тесты прошли успешно.
@Time2paw
@Time2paw 3 жыл бұрын
и тесты выглядят как if (true)...
@QmanKUCHER
@QmanKUCHER 3 жыл бұрын
А как же тесты хуево написаны?
@YuriiKratser
@YuriiKratser 3 жыл бұрын
Ахахах
@bytefu
@bytefu 3 жыл бұрын
А твой комментарий означает, что на русском языке можно формировать предложения.
@ИапГоревич
@ИапГоревич 3 жыл бұрын
(function() { let module = import(...) ; if (! (module instanceof Promise)) { // ti cho, s*Ka? return { result: -1 } } module .then(() => // Тут плохой код) .catch(() => // АЙ, БЛ***) ; return { result: 0 } }) () ;
@magnum_fennec
@magnum_fennec 3 жыл бұрын
АйТи - это когда принтера всякие чинят
@andscape1440
@andscape1440 3 жыл бұрын
Не чинят, а чернила меняют
@lord_romzess_v
@lord_romzess_v 3 жыл бұрын
@@andscape1440 это лишь наиболее частая причина поломки.
@andscape1440
@andscape1440 3 жыл бұрын
@@lord_romzess_v наиболее частая причина поломки это красная кнопка на сетевом фильтре.
@TheMasterNumberSeven
@TheMasterNumberSeven 3 жыл бұрын
@@andscape1440 не меняют а разгружают на склад
@DieOffenbarung
@DieOffenbarung 3 жыл бұрын
Мемасы, реклама и скроллинг кода - 3 вещи, зачем я сюда прихожу. На сегодня я получил всё, что хотел, продолжай в том же духе.
@atla5_
@atla5_ 3 жыл бұрын
Автор, не слушай дурачков-хейтеров, видос получился действительно зашкварным 👍
@esper_lvl4900
@esper_lvl4900 3 жыл бұрын
"Пакеты с нпм догрузим в следующих видосах" (с) Вы сделали мой день) So true.
@flatl1ne
@flatl1ne 3 жыл бұрын
Кто то в курсе почему на винде с нпм все так долго грузится, на линуксе бы секунд 10 заняло?
@andor1904
@andor1904 3 жыл бұрын
@@flatl1ne а что ты сравниваешь? Свой ПК на винде и Линукс на сервере? Мне кажется, в таком случае банально интернет побыстрее на сервере будет
@esper_lvl4900
@esper_lvl4900 3 жыл бұрын
Там от проца, интернета и оперативы зависит. Ну и от кол-ва пакетов, наличия кэша и package-lock.json
@flatl1ne
@flatl1ne 3 жыл бұрын
@@andor1904 я сравниваю винду на своем пк и линукс на своем пк , про сервер речи не было
@mikalai_root
@mikalai_root 3 жыл бұрын
Во первых, если HDD - страдай...
@StrifeTheHorseman
@StrifeTheHorseman 3 жыл бұрын
1:15 настолько залип на задний фон что пришлось три раза отматывать назад чтобы вслушаться в то о чём ты говоришь)
@uvy.studios
@uvy.studios 3 жыл бұрын
Вот я тоже. В первый раз даже забыл, что слушать надо.
@testchannel3265
@testchannel3265 3 жыл бұрын
на этом фоне тот еще говно-код, многострочными стрингами компоненты строятся, превратили js в php первого уровня начала 2000-х годов
@artiomta43
@artiomta43 3 жыл бұрын
Блин я тоже на паузу поставил посмотреть что за дерьмо то такое, да в целом код прям такой треш что я глазам своим не верил, хотя они уже столько повидали
@ИапГоревич
@ИапГоревич 3 жыл бұрын
@@testchannel3265 Хех
@ИапГоревич
@ИапГоревич 3 жыл бұрын
@@testchannel3265 Не думаю, что будет лучше: const header = document.createElement('header'); const Name = document.createElement('h1'); Name.id = "header__Name"; header.appendChild(Name); document.querySelector("#wrapper").appendChild(header)
@scarlatum
@scarlatum 3 жыл бұрын
Блять, этот бесконечный фетч нод-модулей для реакта на фоне - Просто высшая стадия комедии!
@ruslanundefined2242
@ruslanundefined2242 3 жыл бұрын
@Antares nn возвожу в степень
@ИапГоревич
@ИапГоревич 3 жыл бұрын
@@ruslanundefined2242 Задаю показательную функцию!
@mishalisovyi
@mishalisovyi 3 жыл бұрын
@@ИапГоревич факториальную!
@ИапГоревич
@ИапГоревич 3 жыл бұрын
@@mishalisovyi Кажется, растёт медленнее
@nikelsad
@nikelsad 3 жыл бұрын
@@ИапГоревич зато не кончает дольше!
@SergMirny_yt
@SergMirny_yt 3 жыл бұрын
Про банан и обезьяну с джунглями - орнул вслух
@maxwellcoding
@maxwellcoding 3 жыл бұрын
Легенды говорят, что сборка от create-react-app до сих пор скачивается...
@backoff6776
@backoff6776 3 жыл бұрын
1. DRY. Мимо. Это означает, что у тебя один функционал будет реализован в двух местах. А потом твой напарник(Вася), будет в этом функционале фиксить багу. В классе А с помощью костыля Б. А потом Другой твой напарник(Петя) будет фиксать ее же, но в классе Ц с помощью котыля Д. А еще через пол года потребуется расширить этот функционал. И в этот момент вам обоим можно будет вполне заслуженно прописать строгий выговор. С занесением в грудную клетку. От того "воина легаси кода", который будет это дерьмо разгребать. Касательно валидации пример убогий. Ибо DRY не относиться к макроархитектуре. 2. Ух ты... я аж расстерялся, за что тебя хаить. Ну... разделим пункт на подпункты. 2.1 Ну можно было например использовать декомпозицию, придерживаться пунктов S и I из солид, по возможности не злоупотреблять абстракциями, заменяя их композицией и тогда у тебя бы небыло лапшеподобного год-объекта, от которого все зависят. 2.2. Не кладем на DRY. Признаемся ПМу, что налапшали дерьма и архитектура поплыла. Далее уже действуем по ситуации в зависимости от ресурсов и времени. В идеальном мире- вооружаемся книгой "Рефакторинг", внимательно читаем и действуем согласно рекомендациям. В реальном - скорее всего костыляем и совокупляемся со своими же костылями,слезно прося прощения коллег, т.к. это наша вина. 2.3. Да, разница есть. Она вытикает из определения юнит-тестирования да и вовсе из здравого смысла. 2.4. А вот как раз принцип Лисков твоего примера не касаеться никак. А это, между прочим азы, воин ты наш... легаси кода) 3. Ну так ты вынужден разбираться с говно-кодом, состряпанным другим воином легаси-кода, который относился к своей работе так же, как и ты. Разве это не повод задуматься? 4. KISS противоречит любым принципам, если упарываться в крайности и искать, к чему бы докопаться. Ну или как бы оправдаться. Тут дело в том, что "Simple" - понятие растяжимое и однозначного ответа, где же заканчиваеться "Simple" и начинаеться "нихера не Simple", тебе никто никогда дать не сможет. Ты же сейчас банально манипулируешь терминологией. 5. Оо... добрались даже до "Что такое хорошо? Что такое плохо?". Глобальный объект - один из возможных способов решения ряда задачь, связанный с рядом недостатков и рисков, однако в некоторых случаях может оказаться более оптимальным, чем его альтернативы. Только и всего) Те принципы и практики, о которых ты так снисходительно говоришь, придуманы гораздо более умными дядями(и тетями) и как раз для того, чтобы выполнять свою работу с минимальным уровнем последующего гемороя и спать по ночам. Залезть в жопу по-глубже, чтобы позже героически из нее выгребать, конечно романтично. Но затратно по времени. А время - деньги. А бабки, как известно - лучший best practice.
@ПростоТанцор-ф9е
@ПростоТанцор-ф9е 3 жыл бұрын
чувак, ты рили воспринимаешь в серьез этот троллинг?)
@backoff6776
@backoff6776 3 жыл бұрын
@@ПростоТанцор-ф9е , ну как тебе сказать... Я понимаю, что мамин Линукс Торвальс похайпиться хочет и раздувает холи-вар. И скорее всего прошел бы мимо, если бы не засилие таких вот горе-гениев, за которыми приходиться все переделывать. По моим наблюдениям, хорошо если 9 из 10 "специалистов", с которыми приходиться работать(ну или за которыми приходиться разгребать), как то так и относятся к своей работе. Надавил на больное короче)
@olegmak4541
@olegmak4541 2 жыл бұрын
Великий Джон Кармак, которого уж точно сложно упрекнуть в плохом коде, игнорил принцип DRY, он дублировал и захардкоживал функции в высоконагруженных участках, для улучшения стабильности и производительности.
@djhenya94
@djhenya94 3 жыл бұрын
3:04 этот ls сделал мой день))
@MsDimkadrol
@MsDimkadrol 3 жыл бұрын
Причем больше всего там рассмешило про рельсу ))
@КонстантинСайков-ж9л
@КонстантинСайков-ж9л 3 жыл бұрын
00:47 - найс коммент перед кодом))
@maratiakupov4730
@maratiakupov4730 3 жыл бұрын
Брат, не пропадай так надолго... Ты сохраняешь во мне любовь и ненависть к кодингу. Дай бог те здоровья
@liletl3083
@liletl3083 3 жыл бұрын
Люблю зайти на этот канал, черпнуть лопатой умных слов и пойти хвастаться в жизни.
@ryazanov13
@ryazanov13 3 жыл бұрын
1) Повторение код вредно, не тем что ты описал, а тем что при изменении в одном месте, придётся менять код во всех копиях, которые неизвестно где, не известно сколько их и вообще об их существовании не известно. Твой код с 3мя модулями, не понял в чём вообще проблема, есть 3 модуля и все они используют одинаковую зависимость, понадобилось что бы один из них использовал другую зависимость - пусть использует, каким образом это "укокошит" остальные модули? 2) kiss вообще не имеет прямого отношения к практикам/подходам к программированию, этот принцип говорит, не создавать сложные системы, SOLID именно на это и нацелен. Дополнительный класс никак не делает систему сложной, не путай большую систему и сложную. Может быть здоровенный и простой проект, и может быть 100 строк обфусцированного кода. 3) Можно пример, почему в ооп ты должен обезьяну с джунглями банану добавлять? Всё отличие от функционального программирования, что функции с одинаковыми конструкциями use можно объединить в одном классе, что позволяет прокинуть один класс с общим состоянием, а не кучу методов с неизвестно какими данными. 4) глобальные переменные всегда зло - используй конфиг и не будет никаких проблем, легко можешь конфигурировать свой проект. 5) "определенный паттерн для REST" вообще непонятно в чём суть проблемы, какой глобальный контекст? Передаётся http запрос. Если что, большинство фреймворков (по сути все) ничего общего с ООП не имеют.
@artursword3288
@artursword3288 3 жыл бұрын
4:09 DRY принцип скорее о КЛАССИЧЕСКОМ программировании а не о разделении клиент сервер, где особо грамотные маслята вместо выделения в функцию по сути ОДИНАКОВОГО КОДА его мажут толстым слоем по углам, потом такое саппортить невозможно, ибо нужно сперва весь код просмотреть, и в каждом углу сделать исправление.. так что Автор вводит в заблуждение .. уж лучше ЧИТАЙТЕ КНИГИ, а не по ютубчику учитесь)))) паттерны никогда не были прям БЭСТ ПРАКТИС, они скорее были набором наиболее распростроненных решений на наиболее часто возникающие задачи, и для УНИФИКАЦИИ решений решили их разъяснить, ведь когда ВСЕ кодеры в твоей ПАТИ говорят на одном языке и работать проще ...
@ЕгорБаранов-х8ъ
@ЕгорБаранов-х8ъ 3 жыл бұрын
Забавно узнать, что принцип драй это про недопустимость копипаста из одного проекта в другой(общие библиотеки от лукавого), и ни чуть не преследует цели менять бизнеслогику в 1 месте, а не по всему приложению искать возможные наведённые баги. И что домейн дривен дизайн с тест дривен дизайном это зло. Походу никакой я не программист. Пойду устроюсь на автомойку. Спасибо автор, что открыл глаза)
@горшочек-ч9ж
@горшочек-ч9ж 3 жыл бұрын
О программировании не знаю абсолютно ничего, но нравится подача автора. Лайк
@baier5473
@baier5473 3 жыл бұрын
Ладно, пересмотрю старый шедевр
@ievgenk.8991
@ievgenk.8991 3 жыл бұрын
Я очень часто такое поведение наблюдаю со стороны "трушных" кодеров. Раз уж такая пляска то подкину парочку личных кейсов :) * Кейс с бекендщиком бекендщик: "почему на фронтенде такой зоопарк, почему все решения не сводятся к одному, почему так много фрейморков." [тем временем на беке: куча операционных систем, куча платформ, куча языков, куча фреймворков под каждую платформу, миллион баз данных, триллион сишных либочек, драйверов и прочего.] * Кейс с дотнетчиком дотнетчик: "Почему фронтенд такой лагучий, какого фига фронтендеры не пишут всё на ванильном js, зачем они подгружают фреймворки, надо экономить трафик и думать про рокет-саенс перформенс. Электрон - дно, зачем вообще с таким работать." [В дотнете выходит Блязор, который тянет "пол" дотнета на фронтенд, втуливает WebAssembly интероп с js - и все это дело лагает и грузится по пол минуты с 3G интернетом. И в довесок майки анонсировали, что теперь десткоп аппки можно писать на Блязоре (но уже без WebAssembly которое оказалось "не нужным") обернутые в Электрон] любой дотнетчик: "одобрительно кивает головой и просит манагеров везде юзать Blazor." * Кейс с ООП(java-like) и адептом чистого кода, искренним последователем дядюшки Боба: оопырь: "ООП это святыня, оно помогает писать простой и надежный код и в современном программировании без SOLID+kiss+dry+yagni ваще никуда" [Делаешь замечание недооцененному архитектору, что в java/C# ты фиг расширишь свой метод, если тип аргумента принимает АйЖивотное, а ты импортиш Петушка из сторонней либы и единственный путь это городить костыли из оберток-мимиков, нарушая всё, что знаешь про SOLID+kiss+dry+yagni] оопырь: "Приговаривает томным и сладким голосом ментора, что это здравое и полезное ограничение java, с#" * Кейс с программистами работающие с настоящими типизированными языками аля java, C#, go. тру тайпер: "typescript это дичь, он unsound, в рантайме нет типов - они не настоящие" [Говоришь что ts код (в сотни тыщ строк) c включеном флагом strict и написанный с ФПшечкой в голове - не падает в рантайме неделями и месяцами в отличии от бека на с#/java/go который регулярно раздвигает ножки перед нулрефами] тру тайпер: "но типов в же в рантайме нету..." Хотелось бы еще больше примеров накидать и покрасивше расписать это всё, но надо идти гавнокодить. gl hf
@notbad8170
@notbad8170 3 жыл бұрын
Жиза на все 100%, мы случаем не в одной команде работаем?
@alexkluev561
@alexkluev561 3 жыл бұрын
Про кейс с ооп рофланул с того, как классический GoF паттерн "адаптер" назвали костылём XD
@ievgenk.8991
@ievgenk.8991 3 жыл бұрын
Рофлю с того как "классические" паттерны которые выросли из-за необходимости решать проблемы возникающие из-за ограниченности java - возводят в абсолют. В динамически типизированных ЯП - половина из них не актуальны или видоизменяются в сторону упрощения, а в ЯП с более продвинутой системой типов - адаптер в данном случае не нужен. Для джавушки родной - без оберточек никуда, но это не отменяет что - это попросту заплатка для языка и никакой ценности в виде ускорения производительности, уменьшения потребляемой памяти, увеличения надежности, упрощения программы - это не несёт.
@ВладимирБелоусов-г2ъ
@ВладимирБелоусов-г2ъ 3 жыл бұрын
@@ievgenk.8991 Ценность это несет за счет того, что не дает совершать миллион других ошибок, в отличие от ДЯП
@bukkaneer
@bukkaneer 3 жыл бұрын
Эээээ... Кейс с дотнетчиком у нас случался с завидным постоянством. Этот дотнетчик наш ПМ. А недавно он открыл для себя волшебный мир js-фрейворков и от его примеров и ценных указаний на vue наш фронтовый чат (где одни ангулярщики) переполнялся матюгами.
@Psyh-su3et
@Psyh-su3et 3 жыл бұрын
Я не "отпищек", лайк тобі, та всілякого успіху. Дуже люблю твій канал. Як казав Е=мс^2нштейн, людина тоді розуміє питання, коли може пояснити його дитині простими словами. А твоїми словами, це не просто якесь там галіме розуміння - це вже мистецтво. Я, до речи, теж тепер знаю пітухон. Дякую!
@AndreyX-i6b
@AndreyX-i6b 3 жыл бұрын
В смысле видео более 30 секунд?
@DrForse
@DrForse 3 жыл бұрын
Мне кажется, DRY существует не для того, чтобы писать меньше кода, а чтобы потом можно было вносить правки в одном месте, вместо того чтобы сначала ИСКАТЬ все места, где нужно внести правки, а потом в каждое из них вносить эти правки. У меня у самого сейчас есть проект, в котором есть определенные типы объектов и модели, которые копируют друг друг во всех трёх компонентах, + в типах кое-где есть функционал, которого нету в других компонентах... И в общем-то, я вполне мог бы объяснить, почему так, а не иначе (ну или нет), но суть в том, что когда вносил недавно правки, добавляя дополнительные поля в таблицу в бд, мне пришлось поменять 6 классов вместо двух. Ну так это мой код, так что было просто, а если бы кто-то другой с ним работал, то он мог бы и не сразу понять, почему же алхимия выкидывает ошибку об отсутствии полей в бд, к примеру, ведь он же все поменял, что нужно 😅
@artursword3288
@artursword3288 3 жыл бұрын
ты прав, а автор или тупит и ему стоило бы НЕРЕЧИТАТЬ профильные книжки, или специально ХАЙПИТ, и несёт околесицу.. там если по пунктам разобрать что он нагородил, то вопросов к его ТЭЗИСАМ тьма.. жаль что это смотрят неокрепшие умы.. и могут поверить ему.. ну если автор абстрактный уровень не различает и сравнивает KISS(вынос абстракции в атомарную единицу не ломает его уж точно) не пойми с чем.. мне страшно за будущее.. тут скорее подходит слово ПЕРЕУМНИЧАЛ...
@DrForse
@DrForse 3 жыл бұрын
@@artursword3288 нууу, чё так резко, его видосы же процентов на 70 рофлы 🌚
@ВладимирШкиль-х9ю
@ВладимирШкиль-х9ю 3 жыл бұрын
Так ну, применение того или иного принципа программирования зависит от контекста !) Любой код можно писать в определенном контексте и при определенной задаче:)
@egos_ua
@egos_ua 3 жыл бұрын
люблю видосы, где у тебя бомбит. Как бы вдохновить на побольше таких? ко-ко-ко, ко-ко-ко, ты во всем не прав! (как смог)
@tongenq
@tongenq 3 жыл бұрын
Инкапсуляция это сокрытие
@nickmage123
@nickmage123 3 жыл бұрын
Ангуляр лучше реакта
@artem_doronin
@artem_doronin 3 жыл бұрын
Пхахх))) Ты постарался от души))))
@sn1cka_
@sn1cka_ 3 жыл бұрын
Сахар не нужен и нужно все делать ручками и циклами. Алгоритмы же знать надо
@dmitryvarnavskikh5648
@dmitryvarnavskikh5648 3 жыл бұрын
@@nickmage123 Джейквери лучше ангуляра, а html на самом деле язык программирования
@ivangordeev6356
@ivangordeev6356 3 жыл бұрын
Осталось решить, можно ли считать синглтон глобальной переменной или мирно разайдемся, плюнув друг другу на спину?)
@Rameronos
@Rameronos 3 жыл бұрын
Слово public там есть? Есть. Static есть? Есть. Ну вот и всё.
@ivangordeev6356
@ivangordeev6356 3 жыл бұрын
@@Rameronos :D
@gradovvladimir4315
@gradovvladimir4315 3 жыл бұрын
Дык вроде как синглтоны юзать не комильфо как раз из-за того, что по сути это глобальные переменные, не?
@ivangordeev6356
@ivangordeev6356 3 жыл бұрын
@@gradovvladimir4315 , Вы не правы, синглтоны это синглтоны, а глобальные переменные, это глобальные переменные. Синглтоном может быть какой нибудь инстанс класса, скрывающего сложную реализацию. По архитектуре наличие единственного инстанса может быть обязательным условием, например абстракция для подключения к бд
@gradovvladimir4315
@gradovvladimir4315 3 жыл бұрын
@@ivangordeev6356 , а почему глобальная переменная должна быть обязательно примитивного типа? Это также может быть какой-нибудь сложный класс с нетривиальной реализацией
@YegresAL
@YegresAL 3 жыл бұрын
Подожди... Т.е. в программировании нет Самого Лучшего Паттрена? Это что... нам думать надо когда мы код пишем? А ну на вилы его!!!!11111ОдинОдинодин
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Лучший паттерн это синглтон XD
@YegresAL
@YegresAL 3 жыл бұрын
@@Gameplayer55055 хиханьки хаханьками, но синглтон реально крутой паттерн... За все годы что я в этих ваших софтваредевелоперах я видел только одну откровенно ужасную реализацию синглтона - когда синглтоном была UIView которая встраивалась в соответствующий UIViewController. Синглтоном, God-обжектом и глобальной переменной с доступом через макрос. Забавно что все работало ))))
@bergest4348
@bergest4348 3 жыл бұрын
@@YegresAL По идее синглтон полностью нивелирует необходимость глобальных переменных. Да это чуть длиннее в реализации, но нет вопросов - куда запихнуть синхронизацию, и проверки чтоб лучше дебажилось.
@dimdimich2356
@dimdimich2356 3 жыл бұрын
@@Gameplayer55055...который тоже "внезапно" стали считать антипаттерном 😁
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
@@dimdimich2356 смотря где
@alexandermokryshev5397
@alexandermokryshev5397 3 жыл бұрын
Комрад, DRY нужен вовсе не для того чтобы "не делать двойную работу", писать отдельный код для каждой специфической ситуации гораздо проще и быстрее, чем заморачиваться с абстракциями и наследованием. DRY нужен для того, чтобы при внесении изменений, в больших проектах, не искать "вручную" все места, где ты применяешь логику, которая должна работать строго одинаково. Крайне неприятно, когда к тебе приходит бизнес и говорит, что ты сам не разбираешься в собственной системе. Точно так же и юнит-тесты, они нужны не для красоты, а для того, чтобы при изменении этих самых, общих абстрактных классов, моментально увидеть - какие конечные модули перестали работать так, как от них ожидают, чтобы не вычитывать это вручную в коде и не держать это в голове. Чтобы не возникало ощущение "двойных стандартов" и чтобы самому оставаться адекватным, надо перед применением любого устоявшегося подхода или паттерна думать - "какие конкретно риски заставляют меня это делать?". Если ты понимаешь свои риски, ты понимаешь - зачем тебе эта доп нагрузка, и в какой степени она тебе нужна. PS Я понимаю, что у тебя "стиль пАдонка" и ты отыгрываешь роль, но на самом деле правильная поставленная речь, манеры и позитивная коннотация звучат намного стильней, умнее и дороже:) Посмотри для примера канал - "Физика от Побединского", насколько этажей ниже он бы выглядел, если бы общался как ты?
@mykola_antal
@mykola_antal 3 жыл бұрын
Об этом автор тактично умолчал :)))
@alexandermokryshev5397
@alexandermokryshev5397 3 жыл бұрын
@@mykola_antal ну он не со зла:)
@demid088web
@demid088web 2 жыл бұрын
Начал за здравие, кончил за упокой!
@yedilkalemshariv5039
@yedilkalemshariv5039 3 жыл бұрын
Братан хорош! Давай контент! В кайф! Можно ещё?! Вообще красавчик!!!
@Skeleton597
@Skeleton597 3 жыл бұрын
Видос на 9,5 минут? Значит ли это, что следующий ролик будет совсем скоро, в августе?
@stas_khavruk
@stas_khavruk 3 жыл бұрын
Наконец-то он нашёл рекламодателя для 10минутного видосика.
@Джи365
@Джи365 3 жыл бұрын
Чёт я вспомнил хентыч "стрелочка не поворачивается" Да, за счёт того, что я часто ищу хент на рандом я получил абилку "знать хентыч на любой случай жизни"
@mrLukas-du4xd
@mrLukas-du4xd 3 жыл бұрын
Наконец-то Колян на сцене канала!
@xxlagr1
@xxlagr1 3 жыл бұрын
Есть огромная разница между глобальной переменной а-ля window.mystateobject и Flux. Например, в иммутабельности. А так в пример и базу данных можешь привести, она тоже доступна в любой момент. Проблема глобальных переменных не в том, что они доступны отовсюду, а в том, как они изменяются.
@basilsoloview
@basilsoloview 2 жыл бұрын
Зачем эти недомолвки и полумеры! Проблема ЛЮБЫХ переменных в том, что они изменяются.
@apristen
@apristen 3 жыл бұрын
"если тебе нужен банан, то приходится мутить ещё и обезьяну с джунглями" - X-D)))) жизаааа!!!
@ЙцукенПетрович
@ЙцукенПетрович Жыл бұрын
Про DRY и злополучную дупликацию кода принцип на самом деле простой. Разные сущности с точки зрения логики работы должны быть представлены разными элементами кода, даже если эти элементы кода совпадают на 99%. Если получится, можно совпадающие части вынести в отдельную утилитарную функцию/класс, но и за этим не стоит охотиться. А не наоборот, создавать одну сущность, параметризуемую разной логикой. Т.е. например, если тебе нужно работать с массивами строк (напр, список людей) и чисел (индексы или даты), и оба нужно сортировать, то у тебя должно быть 2 несвязанных класса со своим методом сортировки в каждом. А уже в этих методах можно какой-нибудь qsort вызывать. Как не надо: создавать один класс КСортируемыйСписок с подклассами для каждого вида списка. Мне самому эти идеологизированные кодеры уже изрядно поднадоели. Я обычно их советы просто игнорирую и делаю по-своему. Благо мне как сениору это позволяют.
@MaChEtE-yn5cm
@MaChEtE-yn5cm 3 жыл бұрын
я программирую микроконтроллеры, что я здесь делаю ???? Много какой-то хуйни в этом вашем не МК программировании. Процедурное программирование - топ ! ко ко ко забыл сказать ;) Вроде ко ко ко- на языке программистов ПК это - абсолютно согласен ...
@gunnargunaxe
@gunnargunaxe 3 жыл бұрын
Я вообще в Quartus'e для Альтеры схемки рисую, но посидеть с попкорном посмотреть интересно на всю эту абстрактную возню)))
@enidshakur9240
@enidshakur9240 3 жыл бұрын
Ахаххаахахахах
@250-p6i
@250-p6i 3 жыл бұрын
@@gunnargunaxe, ранил, убил. Смехом! Ранил "MaChEtE 2015".
@ivansavygin3227
@ivansavygin3227 3 жыл бұрын
А теперь обмажься MISRAC и попробуй тут вякнуть что глобальные переменные это хорошо))
@пхвлхн
@пхвлхн 3 жыл бұрын
Моргни, если тебя Слидан в заложниках держит
@h_it
@h_it 3 жыл бұрын
их двоих дкржат в одном подвале
@vryaboshapko
@vryaboshapko 3 жыл бұрын
Вообще всегда понимил DRY как способ имплементации SRP. Когда одна фича описана в одном месте, её проще править, нет риска забыть, что поправил только 2 места из 3. Соотвтественно, идея про экономию времени выглядит странно. К тому же, DRY часто требует больше времени, чем копипаста, потому что надо же ещё подумать как его поабстрактнее сделать.
@iliasalaur
@iliasalaur 3 жыл бұрын
4:48 А как насчёт сделать абстрактный класс в котором будет реализовано большее число методов а то что нужно изменить будет в другом классе который будет наследоваться от того абстрактного класса? Не знаю как в C# или Java, но на плюсах я именно так и делал и вроде было норм. Типа, и код не повторяется и все работает так как надо
@НиколайСушков-е5ж
@НиколайСушков-е5ж 9 ай бұрын
07:05- недостатки глобальных переменных: ухудшают потокобезопасность, рискуют быть собранными в мусорку, становится причиной багов (потому что к ним есть доступ если любой части приложения).
@I248
@I248 2 жыл бұрын
Топ! Твори дальше! Уникальный контент!
@MyMrdmitry
@MyMrdmitry 3 жыл бұрын
Как всегда. В любой области есть люди которые понимают что, зачем и как работает, и те что следуют за авторитетами не понимая что всё надо выбирать в зависимости от задачи.
@hrayrbarseghyan5453
@hrayrbarseghyan5453 3 жыл бұрын
про функцию, где надо в одном месте чтоб работало немного иначе - жиза. решается так - надо чуть чуть пошевелить мозгами, и соблюдать инкапсуляцию и принцип единой ответственности, чтобы код был максимально модульным. и самый главный совет - используй сука мозги!
@Игорь-ь5у4б
@Игорь-ь5у4б 3 жыл бұрын
Да, натерпелся я однажды от таких ctrl+c, ctrl+v. Следующей задачей после данного действия прилетает задача где нужно внести изменения и в старый и в новый скопированный код. Ну да зато у нас сущности не появилось :D. И ладно если человек копипастер еще работает и случайно заглянул в ПР, что бы сказать где поправить. А то ведь бывает, что такие "ценные кадры" сваливают из компаний
@MasterSergius
@MasterSergius 3 жыл бұрын
Походу, я отстал от мемчиков, узнал только "Ярик, бачок потік"
@ДенисМельник-в5ю
@ДенисМельник-в5ю 2 жыл бұрын
Как же я люблю твои видосы! Какой же кайф. Я ценитель такого юмора.
@trollol2563
@trollol2563 3 жыл бұрын
А интернет так и не скачался...
@viksench6447
@viksench6447 3 жыл бұрын
не, ну ты ваще красавчик) и слушать оревно, и солидарен со всем)
@buellxb_rider
@buellxb_rider 3 жыл бұрын
Самый прекрасный видовс за последнее время. ржали всем офисом
@АлександрСериков-ч5ю
@АлександрСериков-ч5ю 3 жыл бұрын
БЛЯЯЯЯЯЯЯ. Какая подача! У меня очко порвалось уже от диаграммы спагетти-костыль))))) Просто, Бог!!! Ору)
@VitaliyBrizhan
@VitaliyBrizhan 3 жыл бұрын
Чувааааал! Ты просто нереален! В этом видео все прекрасно! *яплакаль*
@ifan146
@ifan146 3 жыл бұрын
я, может, придираюсь, но DRY - про то, что копипасту придётся поддерживать. например, ты захардкодил значение, потом скопипастил, потом оказалось, что хардкод неправильный, исправил в одном месте и забыл про второе. а потом разбираешься, где ошибка. Как раз, наоборот, копипастить проще и быстрее (в момент написания кода). про момент с зависимостями : ну тут можно через наследование, которое ты вроде не признаёшь, а можно этот функционал декомпозировать и вместо переопределения написать функцию, которая будет работать по-другому либо сделать возможность через входные параметры разруливать логику ( флажок там какой ) , но это уже больше на костыль похоже а почему юнит - тесты через или? я думал, они нужны хоть как) ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ - ЗБС
@alexandermatveev6777
@alexandermatveev6777 3 жыл бұрын
Ну поехали... РЯЯЯ Принцип DRY: "Каждая часть знания должна иметь единственное, непротиворечивое и авторитетное представление в рамках системы". Поверхностное понимание принципа это "не дублировать код", а вот углубленное "не дублировать источники знания", т.е., например, не дублировать константы в разных местах, не иметь хардкод в запросах и переменную в коде, не писать отдельно документацию и doc block. TDD нужен не для того чтобы писать меньше кода, а для того чтобы быстрее находить проблемы в при его изменении и для более быстрого нахождения ошибок. KISS вообще такая философия, к которой дое*** совсем легко, потому что Simple разный, в зависимости от точки зрения. Про глобальные переменные ржу, фротендеры переизобретают всё заново по кругу год за годом чтобы зп ту зе мун двигать. В разговоре про REST почему-то к middleware перешли и request объекту. Request использовать как глобальную "переменную" не очень хорошая идея, это скорее связка источника данных и команды из которой создается response.
@Aspirin4uk12
@Aspirin4uk12 3 жыл бұрын
Дак в случае flux и middleware api есть одно явное отличие - эти "глобальные" переменные передаются аргументом функции, а не просто идет к ним обращение из кода. Ну и собственно и мутятся такие штуки спецом иммутабельными, чтобы фантомные баги не ловить.
@ВладимирБелоусов-г2ъ
@ВладимирБелоусов-г2ъ 3 жыл бұрын
Чувак, если ты не пишешь тестов в своем коде, ты либо лупишь супер мега стартап, который возможно выкинешь через неделю и не собираешься поддерживать вообще, либо колупаешь сайты-визитки. По поводу того же Dry - копипаст разрешен, если он имеет другое семантическое значение в данном случае. Тогда нет смысла пытаться объединять разнородные, пусть и похожие операции в один метод, потому что смысл его совершенно другой в разных частях кода. И KISS ты тоже не понимаешь. Держать простым - это значит держать в соответствии с бизнес-логикой и бизнес-сущностями. Опять же, если у тебя есть похожие, но различные по своей семантике сущности, то их можно хоть миллион штук наплодить, и это не будет нарушением принципа KISS.
@TooStrongPlayerException
@TooStrongPlayerException 3 жыл бұрын
Лайк за профессора фортрана на 5:33 , олды помнят
@monlewi1976
@monlewi1976 3 жыл бұрын
искал этот коммент
@ImMeshlem
@ImMeshlem 3 жыл бұрын
Я только-только начинаю учить программирование и не понимаю 90% видосов, но контент такой годный, что даже без понимания происходящего интересно смотреть.
@the_eye8574
@the_eye8574 3 жыл бұрын
Жиза. Еще не понимаю почему фронтендеров засирают...
@artursword3288
@artursword3288 3 жыл бұрын
лучше читай КНИГИ толковых авторов.. блогер ради хайпа путает молодых неокрепших бредом.. да слушать прикольно изза рофляночки.. да только 80% наговоренного тут полный бред изза непонимания блогером того о чём он говорит(ну по крайней мере полного понимания)
@VictorPlay2017
@VictorPlay2017 3 жыл бұрын
@@artursword3288 слишком толсто
@sergflutter9232
@sergflutter9232 3 жыл бұрын
закрой ютуб и читай книжки
@pavelzloi
@pavelzloi 3 жыл бұрын
Очень хорошее видео, тема раскрыта нормально, спасибо, подписался :)
@javascripttask7556
@javascripttask7556 3 жыл бұрын
Программист это когда с утра включаешь ПК, целый день пьешь кофе в офисе и рассуждаешь о паттернах, ООП, великом и малом коде с коллегами в офисе, жуешь SOLID, особенно тебе нравится как Барбара устроила "принцип постановки", вечером выключаешь ПК ни написав ни строчки кода, приходишь домой и говоришь: -как я сегодня устал!
@250-p6i
@250-p6i 3 жыл бұрын
Глобальные переменные это хорошо, удобно и главное быстро работает! Просто пишите на ассемблере и у вас не будет проблем.
@Meskalitofly
@Meskalitofly 3 жыл бұрын
Мне понравилось конечно про сравнение глобальных переменных в js и flux но мазафака, сторы эти используются как правило в связке с нашими любимыми компонентыми фреймворками, а использование компонентного фреймворка автоматически избавляет тебя от необходимости плодить глобальные переменные специально или вообще задумываться о них, ну и кроме того flux как раз и позволяет избегать недостатков использования глобальных переменных.
@11МаНаХ11
@11МаНаХ11 3 жыл бұрын
Половину слов не понял, но слушать прикольно)))
@Анатолій-я4и
@Анатолій-я4и 3 жыл бұрын
Я сначала подумал что Добряк в кодинг подался. А это не Добряк :D
@DartElf00
@DartElf00 3 жыл бұрын
Глобальные переменные, как по-моему, это не плохо. Главное их правильно использовать. Ну и не прикручивать их к какому-то сверхважному функционалу напрямую. Любой инструмент плох, если им не уметь пользоваться.
@НикитаЗамалютдинов
@НикитаЗамалютдинов 3 жыл бұрын
Вижу жабаскриптера, готовлюсь ловить лулзы от потока говна, а видеоряд шикарно дополняет это
@TheOnlybestgames
@TheOnlybestgames 3 жыл бұрын
Видос вышел к началу рабочего дня, отлично, пожалуй начну с видоса, а потом работа) определенно после просмотра будет баф +10 к качеству написания кода:)
@vyacheslav2750
@vyacheslav2750 3 жыл бұрын
На счет "store = глобальная переменная" не соглашусь 1. для взаимодействия со store нужно вызвать метод get либо set либо delete а это значит что мы уже можем отследить все обращения в store 2. по хорошему создают события которые изменяют данные, а это уже даем возможность не только отследить все изменения в store а и отсеять лишние запросы
@maksymkyryliuk492
@maksymkyryliuk492 2 жыл бұрын
Да он просто любит байтить на комменты, человеку просто нечем заняться больше в этой жизни)
@alexpunch3036
@alexpunch3036 3 жыл бұрын
Забеись. Чотко. Правда, половины я не понял, но мемасики сделали своё дело, и я ржал так, как будто в теме 🍄
@TopToro
@TopToro 3 жыл бұрын
Так, сразу напишу, пока не забыл мысль) Про Dry и зависимый модуль. А что если сделать наследника зависимости, поменять там логику для требуемого модуля и инжектить уже её в тот самый модуль? Так на другие модули не будет аффекта и обмазываться юнитами не придется.
@TopToro
@TopToro 3 жыл бұрын
Не противоречит Кисс, новые сущности проще чем 1000 строк в методе) я такое видел
@artursword3288
@artursword3288 3 жыл бұрын
автору бы перечитать КНИЖКИ.. ибо 80% того что он тут наговорил не иначе как БРЕДОМ назвать нельзя.. он или не понимает основ или строит логику как то криво.. просто поржать можно с его слов, но молодёжь же не дай бог поверит в тезисы.. печаль беда... какое вообще отношение DRY к 2 РАЗНЫМ МОДУЛЯМ которые вообще по логике должны быть слабо связаны.. и при правильной архитектуре всё там было бы норм и без всех этих перечисленных им выдуманных проблем ..
@TopToro
@TopToro 3 жыл бұрын
@@artursword3288 ну тут типа, что правильной архитектуры не бывает как таковой, и что явные касяки в архитектуре некоторых популярных решений почему то не ругают так же как код колег - двойные стандарты действительно. Наверное лучше всего просто стараться писать не говно: хорошо делай - хорошо будет=)
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Именно ваши ролики мне помогли понять ООП :)
@win32filecoder.hydracrypt.15
@win32filecoder.hydracrypt.15 3 жыл бұрын
Это ты про банан с обезьяной и джунглями?
@IYaphtes
@IYaphtes 3 жыл бұрын
По поводу лапши: просто оставляешь зазор для уточняющей реализации и клиентский (вызывающий) модуль уточняет реализацию лапши. Все просто жи, докорирование и композиция.
@malcolmholmes115
@malcolmholmes115 3 жыл бұрын
Все правильно автор говорит, особенно насчёт Dry. Выносить надо в основном те части кода, которые почти наверняка не будут меняться. Ну а в целом не надо делать карго-культ и надо понимать область применимости подходов.
@KonstantinBudrin
@KonstantinBudrin 3 жыл бұрын
Далеко ходить не надо. Паттерн "Синглтон" - классическая глобальная переменная, как она есть. И им обмазываются все кому не лень, в том числе и моднейшие DI-контейнеры. Вообще написать сколько-нибудь сложную систему с какой-либо связностью без наличия какого-либо глобального изменяемого состояния конечно возможно, но не нужно. В смысле, можно конечно обмазаться базами, очередями сообщений и прочими key-value хранилищами и хранить все там, но это просто способ замести проблему глобального состояния под ковер, принципиально не решив сопутствующих проблем и иногда добавив много новых
@smair518
@smair518 3 жыл бұрын
4:18 раньше лапшу на уши вешали а щас на костыли...
@ЮрийПлохов-к2в
@ЮрийПлохов-к2в 3 жыл бұрын
Ну в книге по паттернам, которую я читал, так и говорится, что паттерны увеличивают кол-во классов и могут усложнить код. Причем говорится это в книге много раз, чтобы думали прежде чем паттерны пихать куда непоподя
@alekseymudla5374
@alekseymudla5374 3 жыл бұрын
Спасибо за видео. Прям мои мысли озвучил по поводу всех этих нестыковок
@eam1219
@eam1219 3 жыл бұрын
как обычно, догматическое мышление не позволяет отказаться от всего, что неприменимо к конкретной проблеме. И да, в ООП отсутствует аналог Lambda Calculus, что позволяет вертеть принципы как угодно (Карделли не считается)
@kiowle
@kiowle 3 жыл бұрын
Шутки шутками, а мне реально чуть ногу сервером не оторвало. Спасибо врачам - без осложнении. Только техилый шрамчик теперь ношу на память. Правдa, база там крутилась Informix, а не постгрес.
@asisu2877
@asisu2877 3 жыл бұрын
вот кстати да, часто вижу в чужом коде обычный синглтон, который обзывают как-нибудь типа context, module или subsystem - но в корне, это все тот же синглон. Назвали по другому и уже типа никто не заметит
@doopath8737
@doopath8737 3 жыл бұрын
Наконец видео от того, который смешной. Спасибо!
@edmm-11
@edmm-11 3 жыл бұрын
Ничего не понял, но очень интересно. Лайк за FlexAir )
@marektop5676
@marektop5676 3 жыл бұрын
Я просматриваю этот видос ста тысячным))
@jonkarmok1840
@jonkarmok1840 3 жыл бұрын
Нужно правильно проводить границы модулей приложения, и тогда проблем не будет, и да, иногда лучше скопипастить код, чем строить гигантскую обвязку чтобы его не копипастить. Важно понять когда это нужно делать, все паттерны и тп, это не законы и не постулаты по которым нужно строить приложения, а всего лишь рекомендации, какой конкретный паттерн нужно применить в конкретной ситуации и решает архитектор, в этом его задача, иначе можно было бы посадить макаку за компьютер, чтобы она все по паттернам делала, результат от этого бы не изменился
@ueelalinn
@ueelalinn 3 жыл бұрын
как бекэндер могу заявить, что пример с контекстом запросом - это действительно другое, ты не понимаешь... (го третий выпуск)
@fleapse
@fleapse 2 жыл бұрын
а кто сказал, что глобальные переменные - плохо? если есть что то опасное к изменению, то сделай это что то не изменяемым (константой) глобальный обьект реквеста идущий через мидлвееры например принято расширять, а не сужать и проблем возникнуто не должно
@maxxxeeem
@maxxxeeem 3 жыл бұрын
орнул со вступления без использования оператора опциональной последовательности)
@dj-a
@dj-a 3 жыл бұрын
Слёрм?) Привет от зрителей Футурамы!)
@TalosDx
@TalosDx 2 жыл бұрын
Kotlin MPP делаешь валидацию в общем модуле, и делаешь с ней что хочешь, хоть для покусанных девайсов компилишь. (Но мы же тут про легаси, а не хипстерство и нанотехнологии поэтому ты применяешь принцип да какой же зае.. и пытаешься выбрать нормальное решение исходя из опыта и советов колле... а да, удаленка же... ) Тут есть один момент, о котором ты ещё забыл, когда говорил в 4:49. Потребовалось поменять бизнесовую логику, чтобы модуль работал слегка по-другому в модусе C, а у тебя ещё A и B. Но это может всё сломать, плюс код пахнет. Поэтому ты делаешь копипасту. Спустя полгода или около того находят такой баг, что он ломает эс всем в проде. Ты такой ну баг и баг, фиг с ним и либо идёшь сам править и что-то там вспоминаешь про модуль C либо, что более вероятно это идёт делать другой человек.... Который в душе не имеет, где там что происходило с этими модулями. Правит либо только в общем модуле либо только в C. Баг поправлен, тестеры довольны, эс заказчика горит больше, чем прежде. Ведь было потрачено куча времени на поиск проблемы (ты же помнишь что это легаси?) На её решение, на тестирование, на релиз, на ожидание поставки релиза (легаааси, ставить будете недели две в лучшем случае) И по итогу баг фиксят по х2, а то и хN, где N количество копипасты. Принципы принципами, но их нужно хорошо помнить и знать почему они сложились именно так. И помня это можно, как использовать их, так и не использовать, когда ситуация этого требует. Но только в том случае, если это разумное решение. По итогу работа разработчика, наверное, одна из самой большой эс боли в мире ведь приходится принимать кучу сложных решений, помнить о тысячи вещей и это при том, что хипстеры там на этом вашем модном typescript, kotlin.js, etc пилят убойные приложухи, а ты пилишь гов... легаси. Которое эти же хипстеры пилили лет 10 назад. И ладно ты несёшь ответственность за свои решения и можешь их поправить. Но, когда ты несёшь ответственность за чужие решения, которые кхм ютюб забанит за такие слова. И даже абсолютный чайник мог бы написать лучше. То ты обращаешься к тем самым принципам, чтобы убедить РП начать рефачить свой и проектов эс. По итогу ты выгораешь и уходишь в очередную глубокую жо... то есть депресию. А, когда случился февраль и нормальные компании поливали с рынка рф то ты понимаешь, что хипстером ты не сможешь быть даже, если очень сильно захочешь.
@компаниядоставкиЕдадомой.ру
@компаниядоставкиЕдадомой.ру 3 жыл бұрын
будьте добры сообщить, что за аниме на 2:49 в заставке?
@naotomo2160
@naotomo2160 3 жыл бұрын
JOJO
@компаниядоставкиЕдадомой.ру
@компаниядоставкиЕдадомой.ру 3 жыл бұрын
@@naotomo2160 О, спасибо, хоть что-то полезное от ролика) А ведь так если задуматься, так ведь и действительно, когда человек пишет омнокод годами, он это за опыт начинает принимать.) Синдром заложника, так сказать, размером с палец)
@Dadadadam999
@Dadadadam999 3 жыл бұрын
Самое весёлое помню, когда смотрел от какого-то ютубера получасовой ролик про вред сингтона в С# и угадайте, какой паттерн он использовал в своем следующем ролике при решении проблемы? :З Но вы не понимаете, это другое. :Д П. С. Если что не оправдываю синглтон, просто рассказал забавный момент.)
@navizheniy
@navizheniy 3 жыл бұрын
ну а что такого?) вред то есть, использовать то никто не запрещает))))
@olegafanasiev4976
@olegafanasiev4976 3 жыл бұрын
Большинство видеороликов на Ютубе по коду так или иначе имеют ужасную архитектуру и не могут быть голов вписаны в проект.
@Dadadadam999
@Dadadadam999 3 жыл бұрын
@@olegafanasiev4976 Да это понятно.)
@the_woof
@the_woof 3 жыл бұрын
3:50 - валидацию и там и сям можно сделать одним модулем, даже есть для этого разные фреймы. Но основная причина, это то что и фронт, и бэк имеют разные возможности провалидировать данные, и код там делает немного разные вещи, и это может не подпадать под DRY. 4:57 Вещи которые делают разные вещи со стороны бузинеса, должны делатся разным кодом чтобы не пришлось тратить время ни на юниты, ни на копипасту. И да, тесты надо писать не раньше, а сразу. 6:11 KISS тут не применим. Есть разные вещи - проще всего называть их разными именами. Ты же предлагаешь одинаковыми именами называть разные вещи и как-то там из хитро отличать, и что тут простого. Кода может то и меньше, но где та самая простота о которой идет речь. 6:42 - и в эфпэ тебе тоже нужна обезьяна с джунглями, планетой, вселенной и звездной системой, но благодаря мощи языка лично тебе приходится лепить в худшем случае только обезьяну с бананом а влучше - только банан. Эт я вам как рабочий функциональщик говорю. 6:54 - потому что инжинегры не математики и не могут в полное и строгое описание предмета, так чтобы вопросов не возникало. Вот фп шники иногда могут так сделать, но далеко не всегда и добрались пока до самых основных вещей(ну на этом хоть спасибо). 7:17 - правильный ответ будет такой - в самой стандартной ситуации их лучше избегать чем использовать, но есть некоторые частные случаи которые могут дать некоторый выигрыш. 8:28 - который в нормальных фреймах обычно иммутабельный, достаточные иммутабельные константы - не страшно.
@АлександрЕвдокимов-я4б4т
@АлександрЕвдокимов-я4б4т 3 жыл бұрын
Не соглашусь, коллега. Принципы типо DRY, KISS и Solid однозначно помогут писать более чистый код в большинстве случаев в прикладных задачах. Особенно начинающим программистам. Другое дело, что их не нужно считать абсолютной истинной, и выбирать подходящие для ситуации решения, например подход в ресте. И даже в этом случае, из-за нарушения базовых принципов приходится расплачиваться.
@V83nergy
@V83nergy 3 жыл бұрын
7:31 чуть сердце не остановилось, не пугай так, подумал кто в дверь стучит, снял наушники, проверил, вроде бы никого, опять смотрю видос, снова кто-то стучит. 🤣
@DarkIllusoire
@DarkIllusoire 3 жыл бұрын
Хотелось бы пример из видео, в котором нужно что-то поправить чтобы другом месте это работало немного по-другому, чем раньше. Не для себя, друг Тимур спрашивает :D
КУРСЫ ПО ПРОГРАММИРОВАНИЮ
13:26
ExtremeCode
Рет қаралды 337 М.
Удаленная работа - не делай ошибок!
13:03
My scorpion was taken away from me 😢
00:55
TyphoonFast 5
Рет қаралды 2,7 МЛН
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 148 МЛН
REAL or FAKE? #beatbox #tiktok
01:03
BeatboxJCOP
Рет қаралды 18 МЛН
ПРЕДСКАЗЫВАЮ БУДУЩЕЕ АЙТИ
8:03
ExtremeCode
Рет қаралды 174 М.
Рабочий день тестировщика
13:42
QA Mobile | Мобильное тестирование
Рет қаралды 30 М.
Тайная империя свободного ПО
11:06
ExtremeCode
Рет қаралды 128 М.
ЗАХВАТЫВАЕМ ВЛАСТЬ НА IT ГАЛЕРЕ
7:31
ExtremeCode
Рет қаралды 183 М.
Конкуренция в АйТи
8:15
ExtremeCode
Рет қаралды 269 М.
Вкатываемся в тестирование кода
8:35
ExtremeCode
Рет қаралды 131 М.
My scorpion was taken away from me 😢
00:55
TyphoonFast 5
Рет қаралды 2,7 МЛН