Архитектура ПО для маленьких и тупых

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 พ.ย. 2024

ความคิดเห็น • 337

  • @ExtremeCode
    @ExtremeCode  4 หลายเดือนก่อน +4

    Тележка 💙 t.me/extremecode
    Бусти ❤ boosty.to/extremecode
    Канал про стартап 💚 t.me/startup_reports

    • @reshator_m
      @reshator_m 4 หลายเดือนก่อน

      Всегда становится страшно, когда видео вышло 21 минуту назад, а комментарий был написан 49 минут назад...

    • @VladimirNerby
      @VladimirNerby 4 หลายเดือนก่อน

      Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё?

    • @skosski-moski
      @skosski-moski 4 หลายเดือนก่อน

      да что за хуйня здесь происходит?)

  • @koteelok2014
    @koteelok2014 4 หลายเดือนก่อน +163

    Экстримтсоде, спасибо, что ты есть. Благодаря тебе я раз за разом напоминаю себе, что во мне кроется бесконечный потенциал, способный изменить мир, но вместо этого я стал писать код на JavaScript.

    • @zevsmd
      @zevsmd 4 หลายเดือนก่อน +6

      Два месяца назад перешёл с сишарпа на жаваскрипт, приступив к расширению опенсорсного проекта, начатого и заброшенного индусами. Теперь хочу уйти из индустрии.

    • @jonniuss
      @jonniuss 4 หลายเดือนก่อน

      @@zevsmd онли в онлифанс

    • @AlexAlex-mq6sg
      @AlexAlex-mq6sg 4 หลายเดือนก่อน +2

      ​@@zevsmdтут главное в окно не выйти )

  • @CurS-yp3qw
    @CurS-yp3qw 4 หลายเดือนก่อน +102

    Ясно, у рекламодателей экстрим кода снова появились деньги

    • @MrPokimon4ik
      @MrPokimon4ik 4 หลายเดือนก่อน +1

      накопили

    • @non5309
      @non5309 4 หลายเดือนก่อน

      и ролик пришлось пилить оч. быстро абы как

    • @acidkeat8067
      @acidkeat8067 4 หลายเดือนก่อน

      @@MrPokimon4ik кэшбек с макдональдса упал

  • @TheAnvi1
    @TheAnvi1 4 หลายเดือนก่อน +411

    Посмотрел, удаляй

    • @kolosok5465
      @kolosok5465 4 หลายเดือนก่อน +28

      Удалел, посматряй

    • @lizbertarian
      @lizbertarian 4 หลายเดือนก่อน +7

      Посдаляй, умотрел

    • @ВладиславКоваленко-з6э
      @ВладиславКоваленко-з6э 4 หลายเดือนก่อน

      Уго

    • @andufalador
      @andufalador 4 หลายเดือนก่อน +5

      Умоляй, постарел

    • @EQ2Errick
      @EQ2Errick 4 หลายเดือนก่อน +3

      повзрослел, выдворяй

  • @kolosok5465
    @kolosok5465 4 หลายเดือนก่อน +103

    У нас были 3 праграммиста, которым поручили написать фронт для приложения. Они создали идеальную архитектуру, составили список ВСЕХ компонентов, полностью проработали логику взаимодействий этих компонентов, полностью расписали где какие методы, что получают что отдают и тп. Потратили месяц. И это все без единой строчки кода. На каждый компонент создали задачку в битриксе, получилось 175 задач) Но они не учли, что приложение может расширяться и изменяться, и когда у нас поменялся главный экран и авторизация, они еще на две недели зависли, что бы это тоже правильно расписать. В итоге ПМ на них наорал и выгнал. Остались 175 задачек в битриксе, и 500 бессмысленных чатов с обсуждением архитектуры. В итоге фронт писал я, архитекуту придумывал на ходу. Многое делал интуитивно, справился за месяц, работает все уже 3 года, у нас полностью поменялось api, дизайн и очень много логики, прекрасно расширял и удалял функцонал, и проблем практически не возникало.

    • @СарматКурицын
      @СарматКурицын 4 หลายเดือนก่อน +1

      Я в одной конторе как-то запилил инструмент для внутреннего пользования, всё что я сделал по архитектуре до разработки, так это схему БД. Делал всё сам, считай fullstack. На бэке был python/flask и весь фронт на jinja шаблонах, плюс расширение для браузера в tampermonkey. Потратил на разработку первой версии около недели. Отдел сразу начал с ней работать. Но нужно было добавлять функционал, плюс в UI нужна была реактивность, а новые данные приходили из трёх источников: с ответом от сервера, из UI, из браузерного расширения. Поэтому решил не изобретать велосипед и просто добавил VUE прям в jinja шаблоны, без всякой сборки фронта, либы загружал из CDN 😁 С этим инструментом уже два отдела работали, коммуницируя между собой через него. Из другого отдела нужно было добавить пару фич, я просто скинул ссылку на репозиторий и один сотрудник, без лишних вопросов реализовал эти фичи, без создания всяких чатов и оно работало. Плюс я расширил функционал для внешних заказчиков. И вот в таком виде этим инструментом, в той конторе, пользуются до сих пор, хотя я там уже не работаю.
      PS Это был мой первый проект. Сейчас я уже так не делаю 😁

    • @PilotInspektor
      @PilotInspektor 4 หลายเดือนก่อน +21

      ну это типикал jira программисты че сказать

    • @cafedead
      @cafedead 4 หลายเดือนก่อน +23

      Походу, это были вкатуны, умеющие проходить собесы...) За месяц ни строчки кода... Это надо уметь.

    • @kadr6424
      @kadr6424 4 หลายเดือนก่อน +29

      А знаешь в чем фича? В том, что написал ты, поддерживал и расширял тоже ты. Попробуй взять нового джуна или даже миддла и дай ему выполнить задачку в соло и ощутишь боль в попе. Либо в своей, когда будешь пытаться понять и расширить поверх задачи коллеги, либо в своей, когда будешь объяснять новоиспеченному принципы на которых архитектуру проекта строил

    • @kolosok5465
      @kolosok5465 4 หลายเดือนก่อน +18

      @@kadr6424 ну я пытался документацию писать, а потом решил, ну это все е х*ям, все равно я один. А если уволят, ну вот пусть сами тогда и разбираются

  • @ВладимирВоробьев-е6о
    @ВладимирВоробьев-е6о 4 หลายเดือนก่อน +7

    Обычно бывает наоборот - поделия мамкиных архитекторов немодифицируемые, не поддающиеся дебагу, тяжелые для понимания, хоронящие команду за командой вновь нанятых разработчиков для поддержки этого поделия.

  • @aleksandr-42
    @aleksandr-42 4 หลายเดือนก่อน +43

    С Соером пивка попил - опа, архитектуру на канальчик подвезли))) ❤

    • @stanmarsh9458
      @stanmarsh9458 4 หลายเดือนก่อน

      Скоро за ассемблер говорить будет)))

    • @ska6391
      @ska6391 4 หลายเดือนก่อน

      Да, так и соевым куколдом таким же станет.
      Хотя….

  • @jprakk
    @jprakk 4 หลายเดือนก่อน +18

    Ай прям хорошо зашло. Накидай ещё на вентилятор 👍

  • @ВладимирВоробьев-е6о
    @ВладимирВоробьев-е6о 4 หลายเดือนก่อน +25

    "Преждевременная оптимизация" - этот грех архитектора ввел в оборот еще Мартин Фаулер в своей книге "Архитектура корпоративных приложений".

    • @PilotInspektor
      @PilotInspektor 4 หลายเดือนก่อน +7

      Когда наебнется, тогда подумаем, всё правильно. Сэкономит много сил и времени. А оптимизировать всегда можно успеть)

    • @cludiee138
      @cludiee138 4 หลายเดือนก่อน

      Преждевременная эякyляция только знаю

    • @ВладимирВоробьев-е6о
      @ВладимирВоробьев-е6о 4 หลายเดือนก่อน +2

      @@PilotInspektor Да просто ожидания часто не совпадают с реальностью. Архитектор ожидал что на производительность приложения повлияет одно, а в жизни оказывается что оптимизировать надо совсем другое, то о чем архитектор даже и не знал. И оптимизировать надо быстро и жестко. А эта преждевременная оптимизация мешается под ногами и об нее спотыкаются делая оптимизацию реальную.

    • @ВладимирВоробьев-е6о
      @ВладимирВоробьев-е6о 4 หลายเดือนก่อน +2

      @@cludiee138 Да, преждевременная оптимизация это как лечить преждевременную эякуляцию покупкой специального презерватива. "Почти бесполезно для него и совершенно бесполезно для неё" (c)

    • @iamdozerq
      @iamdozerq 4 หลายเดือนก่อน

      Там речь шла про ассемблеродрочерство, а не про говнокод.

  • @al.osinin
    @al.osinin 4 หลายเดือนก่อน +27

    "делаем как все" и "не боимся нарушать говнопринципы, даже если их используют все" как-будто противоречат друг другу

    • @debastiancebs
      @debastiancebs 4 หลายเดือนก่อน +1

      На первый взгляд да, но если подумать, то эти принципы оттого и говно, что их по сути невозможно соблюдать всегда и везде. И да, там не так звучало, там было "особенно если это делают (нарушают их) все".

    • @rizzie5917
      @rizzie5917 4 หลายเดือนก่อน +1

      "делаем как все" и "не боимся нарушать принципы, если их нарушают все"*
      думаю, такой посыл вернее)

    • @alexdp6440
      @alexdp6440 4 หลายเดือนก่อน

      между этими принципами временной промежуток длительностью в 1 свитер с оленями в зеркале... будто ты видео не смотрел

    • @ne4to777
      @ne4to777 4 หลายเดือนก่อน

      Все как раз и не следуют принципам, поэтому нарушать нечего

    • @ArenKhachaturyan
      @ArenKhachaturyan 4 หลายเดือนก่อน

      Этим принципам следуют все только на форумах, митапах, конфлюэнсвх и т.д.
      Если нарушишь ождин из них твой ревьюер с пеной из смущи у рта будет писать комменты что так делать нельзя, паттерны и прочее кокок, хотя сам он пишет по функции в месяц(один деньь пишет, 29 день разгребает баги от своей функции)

  • @ShowoffFantasy
    @ShowoffFantasy 4 หลายเดือนก่อน +4

    По поводу "поправить код в одном месте не поломав все остальное" вместе с "поправить логику везде".
    В первом случае можно создать базовый класс, вынести туда всю оставшуюся общей логику, запилить 2 реализации интерфейса и резолвить нужную по месту.
    Во втором просто меняешь и радуешься жизни.

    • @РоманСмородов-л2в
      @РоманСмородов-л2в 4 หลายเดือนก่อน

      Экстрим цоде просто ещё не прочитал книжку про наследование

    • @Termonna
      @Termonna 4 หลายเดือนก่อน

      @@РоманСмородов-л2в потом про композицию, агрегацию и ассоциацию узнает -- вообще мозг рванёт

    • @stanislavsh6582
      @stanislavsh6582 4 หลายเดือนก่อน +1

      Наследование - причина 99% проблем в мире ООП.
      Нужна какая-то логика - делай функцию. Дальше - наворачивай функциональные композиции.
      Тестируется проще. Ты не сломаешь половину проекта когда полезешь в базовый класс. Работать с простыми функциями - проще, чем с иерархией.
      Я понимаю, что всем кто знакомится с ООП - кажется, что наследование - прям отличная вещь. Только вот чтобы нормально построить иерархию объектов - надо СНАЧАЛА написать 100 раз то что ты пишешь тут, чтобы знать все подводные камни, как их преодолеть, что надо в базовом классе иметь, что не надо. И только потом - браться за проектирование.
      В большинстве случаев - такого опыта - нихрена ни у кого нет. И получаем, либо ненужные абстракции, либо грабли, расставленные по всей кодовой базе, либо очень интересные сайдэффекты и трудноуловимые баги.

    • @ShowoffFantasy
      @ShowoffFantasy 4 หลายเดือนก่อน

      При чем тут иерархия наследования. Для стратегии, которую я описал, нужен один уровень вложенности. Один базовый класс, один интерфейс, n реализаций.

  • @alexperemey6046
    @alexperemey6046 4 หลายเดือนก่อน +1

    Мне кажется, или между принципом "Делаем как все" и "задаемся вопросом Зачем" фундаментальное противоречие?

    • @Zigfried207
      @Zigfried207 4 หลายเดือนก่อน

      Ну сначала задаешься вопросом "зачем" точнее "а оно мне надо?", когда получен положительный ответ - делаешь это нужное как все)

  • @arcc0t
    @arcc0t 4 หลายเดือนก่อน +5

    Братан, хорош, давай, давай, вперед! Контент в кайф, можно еще? Вообще красавчик!

  • @AntiPolarity
    @AntiPolarity 4 หลายเดือนก่อน +26

    Ответ на вопрос про DRY:
    Нужно завязывать все части системы на один кусок кода. Тогда, если понадобится изменение для одной части, то ты просто копируешь этот кусок, делаешь в нём изменение и перекидываешь часть на него.

    • @megaguar
      @megaguar 4 หลายเดือนก่อน +2

      так а смысл? через некоторое время таких копий накопиться много и когда потребуется изменение для всех разом, остаемся с той же проблемой. Нет такого что тут как раз и нужен слой асбтракции сверху - когда нам нужна копия для отдельных строчек кода? Что именно в этот момент мы и создаем абстракцию, а не придумываем их разом когда планируем проект?

    • @ArthurKhazbs
      @ArthurKhazbs 4 หลายเดือนก่อน +2

      @@megaguar Изменение для всех разом производится в общей части кода, а индивидуальные изменения - в специфичной части кода. Нужно уметь разделять код на общие и специфичные части.

    • @Rayvenor
      @Rayvenor 4 หลายเดือนก่อน

      @@megaguar для всех разом не может понадобиться. Для всех разом понадобится если во всех копиях есть одинаковый кусок кода. А зачем мы делали копии одного и того же кода. Это ошибка разбиения кода на подпрограммы. Копировать надо уникальные части, одинаковые вынесены в одну подпрограмму.

    • @megaguar
      @megaguar 4 หลายเดือนก่อน +1

      @@ArthurKhazbs я не спорю, а именно спрашиваю - а разве вся эта история с наследованием не есть именно про это - разбиение кода на "общий" и "специфический"? "общий" это и есть верхний слой абстракции изменения в котором будут актуальны для всех подклассов, нет?

    • @megaguar
      @megaguar 4 หลายเดือนก่อน

      @@Rayvenor ну так это и есть вопрос класса-подкласса, наследование и вопрос доп. абстракции, нет?

  • @danielkeehl7450
    @danielkeehl7450 4 หลายเดือนก่อน +1

    С говнопринципами в точку. Всегда улыбал принцип единственной ответственности. Можно с ним так крышей поехать, что в каждом движении биточка между регистрами будешь видеть самостоятельную ответственность и отдельную сущность в виде гномика в придачу)

    • @Qnoize
      @Qnoize 4 หลายเดือนก่อน

      с опытом приходит осознание, что это не просто так все придумывалось и понимание где, как, когда и какие принципы надо использовать) ничего все еще впереди понимание приходит с опытом, читай книжки - поймешь)

    • @danielkeehl7450
      @danielkeehl7450 4 หลายเดือนก่อน +1

      @@Qnoize спасибо, но я не новичок в этой сфере, и вышесказанное не из воздуха взял

  • @andrewkoshelev8765
    @andrewkoshelev8765 4 หลายเดือนก่อน +6

    В общем, всё сводится к старому доброму "пиши нормально - нормально будет". )
    По сути получается, что на какой бы ты стул ни сел, оказавшись на развилке принятия решений при проектировании приложения, могут быть как положительные последствия, так и отрицательные. Поэтому в конечном итоге ориентироваться стоит на базовую объектную семантику, возможности, хорошие практики и scope задачи.
    Если заказчик просил только банан - подсвети контекст, и если всё же настаивает, что нужен только банан, - делай только банан. Обезьяна, которая его держит, конечно, первична, но ещё первичнее бабулесы уметь считать и экономить.
    Если между объектами есть что-то общее и таких объектов достаточно много, да ещё и регулярно появляются, - наверное нужен общий класс. Если объект 1 и в горизонте следующих 150 лет новых похожих не планируется, - есть смысл отложить семантику на тех продвинутых существ, которые изобретут этот второй объект.

    • @debastiancebs
      @debastiancebs 4 หลายเดือนก่อน +2

      Как говорится, "Делай как надо, а как не надо - не делай"

    • @BeDb_MeDb
      @BeDb_MeDb 4 หลายเดือนก่อน

      @@debastiancebs Как обычно, сказали за меня)

    • @stanislavsh6582
      @stanislavsh6582 4 หลายเดือนก่อน

      А заказчик может быть недоступен. А предметная область - очень специфичной и ты ничего пока на прод не раскатаешь - не узнаешь, про то что там надо кому.
      Единственное рабочее решение - делаем так, чтобы можно было из банана сделать вертолет, и релизим часто, чтобы фидбек получать как можно скорее.

  • @lifekilled8236
    @lifekilled8236 4 หลายเดือนก่อน +1

    SOLID, KISS и DRY нужны для того, чтобы в программу было легко добавлять фичи независимо от размера прожекта. Можно не упарываться, но сильно нарушать не стоит, чтобы потом не тратить кучу время на долгие рефакторинги (недолгие все равно придется делать). А паттерны нужны скорее для того, чтобы читать чужой код. Когда использован синглтон или наблюдатель, программа будет одинаково понятна и тебе, и твоему другу. После какого-то момента вы легко и интуитивно найдете среди 50000 файлов прожекта нужный и радостно добавите туда свой говнокод. Это же прекрасно

  • @go_better
    @go_better 4 หลายเดือนก่อน

    Вот про надумывание наперёд вообще супер актуально для меня. Буду стараться так не делать, уже одного заказчика так потерял. Братан хорош давай давай контент в кайф.

  • @Rizomus
    @Rizomus 4 หลายเดือนก่อน +1

    Обезьяна с джунглями - это было тонко))

  • @СемёнБабушкин-л3у
    @СемёнБабушкин-л3у 4 หลายเดือนก่อน +10

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?

  • @Apofize
    @Apofize 4 หลายเดือนก่อน +4

    Любой индус за пару дней разберет ваш дерьмо код. А пара индусов ... ну вы поняли

  • @Роман-о7ц2и
    @Роман-о7ц2и 4 หลายเดือนก่อน +4

    DRY это не про дублирование кода. Он связан с SRP. Т.е. нельзя дублировать то, что имеет одну причину для изменения. Если код слабо связан, т.е. изменяется по разным причинам, то копипастить не запрещается.

  • @Qnoize
    @Qnoize 4 หลายเดือนก่อน

    начинал смотреть канал еще зеленым масленком, приятно видеть, что теперь когда я стал Архом и канал решил двигаться со мной)

  • @zakatun9491
    @zakatun9491 4 หลายเดือนก่อน +1

    Когда я увидел для маленьких и тупых, то у меня аж слеза навернулась 😢

  • @Alex_34187
    @Alex_34187 4 หลายเดือนก่อน

    Давайте так - решим что есть нормальные архитекторы и они на это учились много лет и понимают процесс разработки и цели которые перед ними стоят, а есть ребятки которые прыгнули не понимая куда попали и что знают то и вкручивают, главное с умным видом и мощным ощущением что повидали весь мир и знают все.
    Архитекторов сейчас столько и знать нужно столько что с ума сойти можно.
    Enterprise, platform, solution/software, technical architect, data architect, sec. Architect etc.
    Практически всем нужно разбираться и в бизнесе и в технологиях, понимать риск менеджмент, как работать с людьми и убеждать людей.
    По моему опыту - сделать архитектуру это одно, а прийти к ее реализации с полным согласием всех сторон и пониманием тех самых trade-offs всеми участниками ну прям очень сложно. Особенно когда люди вокруг не готовы к любым изменениям, а это сорян прям все😅
    Заходить в архитектуру обязательно нужно с техническим бекграундом и лучше знать обо всем, именно знать - не уметь, так как от этого зависит принятие решений и возможность предложить эти решения.
    Доверяйте свой бизнес профессионалам 😉

  • @stanislavsh6582
    @stanislavsh6582 4 หลายเดือนก่อน +2

    Про DRY - копипастим.
    Если надо поменять - просто делаем поиск с заменой.

  • @M0stwan1eD
    @M0stwan1eD 4 หลายเดือนก่อน +1

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще? Давайте, пока.

  • @volodya_dev
    @volodya_dev 2 หลายเดือนก่อน

    До слез смеялся, подписался, так ахуенно. Это не цинизм, это как будто смесь недоумения и заебанности. Спасибо тебе, любимчик :**** братишкааааа

  • @bgs12
    @bgs12 4 หลายเดือนก่อน +1

    У каждого архитектора есть шкаф со скелетами сошедших с ума разрабов 😅

    • @Qnoize
      @Qnoize 4 หลายเดือนก่อน +1

      ну не у каждого, ладно у каждого опытного)

    • @ДмитрийПлехов-я1т
      @ДмитрийПлехов-я1т 4 หลายเดือนก่อน

      У неопытных архитектура плохая, потому шкаф для скелетов не продуман и они просто так на проходе валяются.

  • @nurbolsarsenbaev2540
    @nurbolsarsenbaev2540 4 หลายเดือนก่อน

    1. Делаем как все
    2. Знать зачем пишем
    3. Забиваем на ненужное
    4. Не проектируем наперед

  • @nagirov
    @nagirov 4 หลายเดือนก่อน

    Братан, ты хорош! Давай ещё, контент годный, но, кажется, я пока слишком далеко и весьма оптимистично смотрю %)

  • @petrhelbin8183
    @petrhelbin8183 4 หลายเดือนก่อน

    Братан, хорош,! Давай, давай, вперед! Контент в кайф.

  • @eclipsium_msk
    @eclipsium_msk 4 หลายเดือนก่อน +2

    Это вы еще адептов DDD не видели :D

    • @Qnoize
      @Qnoize 4 หลายเดือนก่อน

      а что ты против ДДД имеешь?)

    • @eclipsium_msk
      @eclipsium_msk 4 หลายเดือนก่อน

      @@Qnoize Не видел ни разу нормального DDD проекта, а которые видел - настолько переваренный кал, что разберется в нем только сам автор. А другой адепт когда увидит - скажет что это не тру ДДД.

  • @питонов
    @питонов 4 หลายเดือนก่อน

    Братан, хорош, давай, давай, вперед! Контент в кайф, можно еще? Вообще красавчик! Можно вот этого-вот почаще? Давайте пока.

  • @debastiancebs
    @debastiancebs 4 หลายเดือนก่อน +6

    Если есть некий кусок кода в единственном экземпляре, от которого зависит код в разных частях приложения, и появляется необходимость изменить этот кусок для отдельных частей приложения, не меняя другие - в чём проблема тогда скопировать его и поменять конкретно для этих частей, а оригинальный кусок не трогать? Если уместно, то можно и вовсе прибегнуть к б-гомерзкому ООП и отнаследовать класс.

    • @greengrey3003
      @greengrey3003 4 หลายเดือนก่อน +1

      Я конечно не спец но вижу проблему схода😂
      Прожект на 50к файлов. Сидишь думаешь так здесь надо поменять кусок кода, меняешь. Через неделю забыл. Через месяц меняешь кусок кода в другом месте, итерируешь n-раз. Через n+1 времени есть кусок кода от которого в теории всё зависит😅 а на практике как повезет. Через пару лет рефакторинга если повезёт разберёшься 😂😂😂

    • @debastiancebs
      @debastiancebs 4 หลายเดือนก่อน

      @@greengrey3003 на такой случай уместно оставлять комменты в коде, а ещё лучше вести нормальную документацию (честно, не представляю, как можно не потеряться в проекте такого объёма без доки)

  • @АраГорн-ж5ы
    @АраГорн-ж5ы 4 หลายเดือนก่อน

    Неплохой выпуск получился, давай ещё

  • @Добрый_отчим
    @Добрый_отчим 4 หลายเดือนก่อน +1

    Классную архитектуру объяснил,понял. Теперь про отвратительную архитектуру делай

  • @prekrati_tv5543
    @prekrati_tv5543 4 หลายเดือนก่อน

    братан ваще в кайф давай давай вперед!

  • @supontable
    @supontable 4 หลายเดือนก่อน

    Пытаюсь не захлебнуться от пролитой воды.

  • @КонстантинЛактионов-щ1ю
    @КонстантинЛактионов-щ1ю 4 หลายเดือนก่อน

    братан, давай еще! Контент в кайф!

  • @hgreender4115
    @hgreender4115 4 หลายเดือนก่อน

    Итог: делай, как все, но по-своему

  • @cyberuzbek
    @cyberuzbek 4 หลายเดือนก่อน +1

    Мне кажется DRY, должен применяться когда помимо самого кода копируется и причина для чего это код необходим. Например есть метод а, который меняет статус заявки на А и метод б, который также меняет статус на А. Однако в первой ситуации это происходит из-за действия альфа, а во второй из-за действия бета. Код одинаковый, но это пока, а когда БП по действию бета вдруг начнут менять, нам не придется один метод делить на два.

  • @max_london
    @max_london 4 หลายเดือนก่อน

    Проникся во все 4 еще на первом году. 4ый год пошел, полет нормальный, схема рабочая👍

  • @SaintVes
    @SaintVes 4 หลายเดือนก่อน +1

    В момент когда автор произнёс слово "фичурс" как "фэйчер" я тут-же понял, что я всё понял.

  • @jusie
    @jusie 4 หลายเดือนก่อน +1

    Ну, тут всё по делу. Особенно п.2 и последний.
    А насчет загадки - всегда в метод можно прокинуть необязательный колбек, который реализует какую-то особую логику. В итоге и метод слабо меняется, и вся эта редкая логика вынесена куда нужно.

  • @ArtemBarr
    @ArtemBarr 4 หลายเดือนก่อน

    Братан, ты легенда!

  • @Koaalla
    @Koaalla 4 หลายเดือนก่อน

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?
    =)

  • @АнтонПопов-о6у
    @АнтонПопов-о6у 4 หลายเดือนก่อน

    Паттерны одни и проблемы у всех одни. Полностью согласен про архитектуру ПО применяем патерн и смотрим на проблемы коллег по патернам!

  • @foxyprogramm
    @foxyprogramm 4 หลายเดือนก่อน

    Братан, харош, давай-давай - вперёд! Контент в кайф, можно ещё? Вообще красавчик, ну и подобного вот этого почаще, давайте пока.

  • @HolyHeimerd
    @HolyHeimerd 4 หลายเดือนก่อน +1

    Про DRY: просто расширить интерфейс и меняй что хочешь

    • @HolyHeimerd
      @HolyHeimerd 4 หลายเดือนก่อน +1

      Буква О из solid

  • @odduck41
    @odduck41 4 หลายเดือนก่อน

    Помню была таска сделать одночлены и многочлены, не пользуясь STL. В общем структура была такая:
    Polynomial
    | List m;
    |
    List powers;
    Где List тоже мой класс. В итоге дебажил 8 долбанных часов, потому что сделал конструктор копирования, но не сделал operator=. В общем перегружать архитектуру это зло

  • @keslorod
    @keslorod หลายเดือนก่อน

    Братан, хорош! Контент в кайф, можно еще)

  • @rainbowunicorn2946
    @rainbowunicorn2946 4 หลายเดือนก่อน

    ШЕДЕВР!

  • @fly-in_glass.
    @fly-in_glass. 4 หลายเดือนก่อน +4

    Я один заметил что extreme code записал новую концовку?

    • @AntiPolarity
      @AntiPolarity 4 หลายเดือนก่อน +4

      та да... уже не торт, в старой концовке была душа, а с новой концовкой вообще смотреть невозможно!

  • @stanislavsh6582
    @stanislavsh6582 4 หลายเดือนก่อน

    Да. Делаем как все.
    А все - болт клали на нормальный код, им бы лишь бы тасочку закрыть в срок, и пойти домой жену за мягкие места трогать. Либо собрались люди, у которых основной паттерн проектирования: StackOverflow - ctrl+c - ctrl+v.
    В результате - код нетестируемы, код не переиспользуемый, держится только на том, что как раз один седой дед, который после универа устроился работать - помнит досконально это вот чудо, и только он - знает где ж там что вставить, при этом - даже он, чтобы подвинуть кнопку на 2 пикселя - месяц тратит.
    Если сложились хреновые практики, и единственный аргумент их использования - это Я ТАК ВСЕГДА ДЕЛАЛ. То считаю верным - класть на то как делают другие - и делать как правильно.
    Банально - тесты нужны. Код - должен быть переиспользуем. Чтобы ты же сам, потом через год - случайно не сломал его. Чтобы - если ты делал похожую фичу - тебе не нужно было ее с нуля писать.

  • @АлександрЛатышев-ш9е
    @АлександрЛатышев-ш9е 4 หลายเดือนก่อน

    Братан, хорош! Давай-давай! Вперёд! Контент в кайф, можно ещё? Вообще красавчик!

  • @wvvwwwvvw
    @wvvwwwvvw 4 หลายเดือนก่อน

    4:57 ФЭЙЧУР БЛЭТТ. очень екстреме соде!

  • @ИльяАрхипов-у1с
    @ИльяАрхипов-у1с 4 หลายเดือนก่อน

    в рекламе, в грузовике с пивом битком набито портвейном три топора, лол)

  • @pawsome_covers
    @pawsome_covers 4 หลายเดือนก่อน

    братан хорош, красавчик и вот это вот всё

  • @Velichkina_a
    @Velichkina_a 4 หลายเดือนก่อน

    Шик, спасибо!
    Я вот сижу и чувствую, что моему пету необходим новый слой. А-то пока ощущение, как от наждачки

  • @Jastagamerschannel
    @Jastagamerschannel 2 หลายเดือนก่อน

    Братан харош давай давай вперед контент в кайф ваще красавчик

  • @DigTheEpicMan
    @DigTheEpicMan 4 หลายเดือนก่อน

    братан хорош давай давай вперед контент в кайф можно еще вообще красавчик. Можно вот этого вот почаще?

  • @loadlost3047
    @loadlost3047 4 หลายเดือนก่อน +1

    тащемта, проблема только с первым принципом. как все делают я в душе не ебу, потому что пишу код в одного, под собственные нужды. особенно хорошо мне даётся забивание на ненужное (и нужное) и не думать на вперёд (иногда, вообще не думать).
    короче, спасибо, екстримецоде, всю жизнь думал, что я долбоёб, а оказалось, я царь проектирования. главное просто голову отключить и кодить в шаманском трансе.

    • @loadlost3047
      @loadlost3047 4 หลายเดือนก่อน +1

      пойду, что ли курсы запилю, как довести себя до исступления и начать чревовещать на питоне

  • @hollow.one.w
    @hollow.one.w 4 หลายเดือนก่อน

    братан вперед, контент в кайф. можно вот этого еще побольше?

  • @segirotus
    @segirotus 4 หลายเดือนก่อน

    Братан хорош, контент огонь! Можно ещё и побольше?

  • @zzaer951
    @zzaer951 4 หลายเดือนก่อน

    Братан, контент в кайф. Давай, пили еще

  • @dependencyinjection6120
    @dependencyinjection6120 4 หลายเดือนก่อน +1

    Думал будет видос про DDD и прочее , а оказалось видос для маслят :(

    • @Qnoize
      @Qnoize 4 หลายเดือนก่อน

      они еще до ДДД не доросли видимо)

  • @waaaghtech9959
    @waaaghtech9959 4 หลายเดือนก่อน +3

    Я ещё не досмотрел, оставь!

  • @Sprut2020
    @Sprut2020 4 หลายเดือนก่อน +1

    Странно что я тебя смотрео больше года назад но в рекомендации все равно попал) хотя ролик все равно топ

  • @Rostislav27rus
    @Rostislav27rus 4 หลายเดือนก่อน

    Братан хорош давай давай вперед контент в кайф можно еще вообще красавчик можно вот этого вот почаще

  • @MikhailGolnoshchekov
    @MikhailGolnoshchekov 4 หลายเดือนก่อน

    Братан, можно вот этого вот ещё почаще?

  • @mcblack2010
    @mcblack2010 หลายเดือนก่อน

    Контент в кайф! )

  • @mirnyt3633
    @mirnyt3633 4 หลายเดือนก่อน +1

    Dry соблюдаем ток когда истинное дублирование

  • @igojira835
    @igojira835 4 หลายเดือนก่อน

    "не уничтожить код во многих частях одним изменением".
    Если соблюдать принцип единственной ответсвенности, этой проблемы не возникнет, я думаю.

  • @EvgenOl
    @EvgenOl 2 หลายเดือนก่อน

    Всегда, когда слышу писк про разово поменять во многих частях кода, пытаюсь вспомнить, когда отменили полнотекстовый поиск и замену?

  • @Дмитрий-ш7й1ж
    @Дмитрий-ш7й1ж 4 หลายเดือนก่อน

    Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще? 😄 сказано? Сделано!

  • @bezborodovanton
    @bezborodovanton 4 หลายเดือนก่อน

    SOLID и DRY - это не про архитектуру (system design), это про декомпозицию кода. Фронтендеры не занимаются архитектурой в принципе, т.к. весь фронтенд - это только один компонент архитектуры приложения.

  • @KOCOIIbIPKUH
    @KOCOIIbIPKUH 4 หลายเดือนก่อน

    кайфовый видос и автор вообще красавчик

  • @kiber-bubl
    @kiber-bubl 4 หลายเดือนก่อน +1

    Видео начинается с 2:06

  • @lordew9476
    @lordew9476 4 หลายเดือนก่อน

    я смотрю на вас, вы не готовы! вы все не готовы!😂
    (первый видос как раз попал в тему, прямо сейчас ищу как всё спланировать. )

  • @TechLevelGames
    @TechLevelGames 4 หลายเดือนก่อน

    Бодренько, спс

  • @skylord4248
    @skylord4248 4 หลายเดือนก่อน

    Это все конечно очень интересно, но когда уже видос про энвилоуп?

  • @paulego8169
    @paulego8169 4 หลายเดือนก่อน

    оуоуоу, еще такого же на вентилятор пожалуйста!!!!

  • @shion1364
    @shion1364 4 หลายเดือนก่อน

    Ты можешь изучить ЯП, и писать на нём программы.
    Ты можешь научиться структурировать код, и писать проекты на любом языке.

  • @Aleksei12595
    @Aleksei12595 4 หลายเดือนก่อน

    Булджать, когда пчелиная война?

  • @druzhoksapozhok
    @druzhoksapozhok 4 หลายเดือนก่อน

    все по-делу, нормально делай нормально будет короч

  • @inftech8976
    @inftech8976 4 หลายเดือนก่อน

    А как нам не думать наперед, если все таки придется масштабировать проект позже, но при этом когда приходит будущее времени на рефакторинг вообще нету?? Эта какой то курьез, можете дать совет

  • @artursword3288
    @artursword3288 4 หลายเดือนก่อน +2

    опять овно на вентилятор :)))) все эти архитектурные решения рождаются в страданиях, и являются как раз систематизированным унифицированным решением большинства задач оптимизации процесса разработки любого ПО.. большинство нормальных/хороших разработчиков доходят до этого понимания, пусть и не сразу.. естественно, Васе с курсов скилфэктори не сразу дойдёт "зачем" это вообще нужно, если проще тяп ляп и прод :)))) может поэтому архитектор - это довольно высокая ступенька развития программиста-прямоходящего, там Дзен познать нужно сперва, а только потом свои корявые ручонки пихать в архитектуру (ну если только задача это не элементарный лендинг) :))))

    • @ПарвинАбушова-г9ь
      @ПарвинАбушова-г9ь 4 หลายเดือนก่อน +1

      Ну вообще качество работы скорее зависит от самого человека, насколько он вовлечен в работу, а не от того как и где он получал знания, он может и сам до этого дойти или ему на курсах расскажут, бывают люди, которые просто не хотят сильно париться и делают все как попало

  • @vaivadavladimir
    @vaivadavladimir 4 หลายเดือนก่อน

    Изменить код сразу во многих местах изменением общего для всех источника лучше, а если нужно точечное изменение, то просто переопределить для этого места код локально, оставив ссылку на оригинал.

  • @impappguru
    @impappguru 4 หลายเดือนก่อน

    короче шуруп всему голова, я еще деду это говорил

  • @selviever
    @selviever 4 หลายเดือนก่อน

    Братан, хорош! Контент в кайф

  • @НасоновНикита-ъ8т
    @НасоновНикита-ъ8т 3 หลายเดือนก่อน

    Ну DRY просто в разумных рамках ипользовать надо. Если ты сделаешь функцию сложения двух чисел и будешь использовать во всём проекте, то это как. Если ты используешь функцию в одном классе или семействе, занимающемся конкретной задачей, то это уже норм.

  • @nezdanchickkun
    @nezdanchickkun 4 หลายเดือนก่อน

    На последний вопрос могу контраргументировать виртуальным методом

  • @djbob9757
    @djbob9757 4 หลายเดือนก่อน +2

    Ха-ха, фроненд архитектура)) ой сказочники)

    • @Qnoize
      @Qnoize 4 หลายเดือนก่อน +1

      ну фронты тоже хотят быть разработчиками и архитекторами)

  • @MorMot74rus
    @MorMot74rus 4 หลายเดือนก่อน

    чем больше смотрю, тем меньше хочется делать :)

  • @ВладимирВоробьев-е6о
    @ВладимирВоробьев-е6о 4 หลายเดือนก่อน

    Даже внутри самого SOLID есть противоречия.

    • @artursword3288
      @artursword3288 4 หลายเดือนก่อน

      возможно Вы просто плохо в нём разобрались :)) прочтите матчасть заново и будет вам счастье ;) Солид - толковая вещь, как для соло так и для командной разработки, естественно если ей все следуют..

  • @NicolayKrasotkin
    @NicolayKrasotkin 4 หลายเดือนก่อน +1

    А видите папочку ФЭЙЧЕР?

  • @bejlapyc
    @bejlapyc 4 หลายเดือนก่อน

    Братан, контент - кайф

  • @bolthold9075
    @bolthold9075 4 หลายเดือนก่อน

    Ну сказать что SOLID, DRY вовсе не нужны это набросать говна на вентилятор. Скорее опытный разраб почти всегда следует паттернам и солиду, просто не понимает этого(если не читал мартина), антипаттерны и нарушение методологии обычно что-то уникальное и требующее особого подхода, как правило в большинстве задач таких мест от силы 2-3 , как исключения, но в остальном , я бы советовал следовать методологии, проще потом править пару мест, скопировать дублирующийся код и переписать, отнаследовать, но не переписывать методом дробовика абсолютно всё

  • @qwertyqwerty2854
    @qwertyqwerty2854 4 หลายเดือนก่อน

    Нафиг нужен чистый код. Его раскритиковал какой-то чел, перевод которого есть на хабре.