Вся суть чистого кода

Поділитися
Вставка
  • Опубліковано 7 жов 2021
  • Курс по созданию простой игры: с нуля - HyperCasual от XYZ: bit.ly/3FZhBjF
    Промокод для получения скидки на курс: YOUEXTREME
    Почитал я значит, что вы считаете, что я запрещаю чистый код. Но как я могу запретить несуществующее? И после этого ещё меня просят выпить таблетки... Такое ощущение, что меня окружают какие-то безумцы.
    _____________________________________________________________
    💰 Бонусы за спонсорство
    ua-cam.com/users/ExtremeCodejoin
    🖤 Telegram: t.me/extremecode_chat
    💙 VK: extremecodetv
    🧡 Insta: / _extremecode
    💜 Discord: dscrd.in/extremecode_from_you...
    🤎 GitHub: github.com/extremecodetv
    Лицензия Creative Commons Attribution 4.0 на использование трека Hyperfun (исполнитель: Kevin MacLeod): creativecommons.org/licenses/...
    Источник: incompetech.com/music/royalty-...
    Исполнитель: incompetech.com/
  • Наука та технологія

КОМЕНТАРІ • 693

  • @ExtremeCode
    @ExtremeCode  2 роки тому +12

    Братан, хорош, давай подпишись на наш Telegram канал, мы там байки и кулстори травим
    🖤 t.me/extremecode

    • @user-ki6ld7wf8w
      @user-ki6ld7wf8w Рік тому

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

    • @VeronikaBodnar
      @VeronikaBodnar Рік тому

      В чем разница между чистым и нечистым кодом?.

    • @user-ki6ld7wf8w
      @user-ki6ld7wf8w Рік тому

      @@VeronikaBodnar Оптимальный: самый короткий или самый быстрый

  • @jija5780
    @jija5780 2 роки тому +908

    Чистый код - пустой файл
    Конфуций (2025-2029 )

    • @Valentin_I
      @Valentin_I 2 роки тому +7

      Вот да. Когда писал чистый код, всегда получал пустые файлы

    • @YngvinLion
      @YngvinLion 2 роки тому +5

      а если в метаданные говно попало?

    • @jija5780
      @jija5780 2 роки тому +23

      @@YngvinLion вилкой до блеска отчистить

    • @oljjol
      @oljjol 2 роки тому +1

      нет, к нему тесты не написаны!

    • @jija5780
      @jija5780 2 роки тому +3

      @@oljjol тесты загрязняют код, поэтому их нетк

  • @svyatocheckjoe9820
    @svyatocheckjoe9820 2 роки тому +528

    Здравствуйте, пишите код хорошо, а плохо не пишите.
    До свидания!

  • @lev.becker
    @lev.becker 2 роки тому +975

    Все помнят статусы ошибок наизусть и замечательно понимают их из контекста!

    • @FreakyKot
      @FreakyKot 2 роки тому +3

      А почему у этого комента так много лайков?

    • @FreakyKot
      @FreakyKot 2 роки тому +11

      Когда над одним проектам работают 1+ команд или даже так, когда работают 1+ человек. То примерно через месяц не кто не помнит, ни коды ошибок, а из контекст может только больше запутать)

    • @lev.becker
      @lev.becker 2 роки тому +10

      @@FreakyKot 1:36

    • @fumanchez
      @fumanchez 2 роки тому +4

      Ну конкретно сишники их реально помнят.
      Да и в C# есть методы сравнения, которые возвращают int отрицательный, положительный или 0. Почему не int'овый enum? А хуй знает, работаем с тем что есть.

    • @Jewbender
      @Jewbender 2 роки тому

      Ctrl + F

  • @rage3225
    @rage3225 2 роки тому +578

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

    • @user-wv6qw1mt5o
      @user-wv6qw1mt5o 2 роки тому +26

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

    • @Gameplayer55055
      @Gameplayer55055 2 роки тому +10

      Я от орехи разбиваю рукой. Гораздо удобнее, чем бежать за молотком

    • @shvetsov777
      @shvetsov777 2 роки тому +7

      Интересно если написать ии для дебага то 1 что он сделает это удалит код?

    • @flance911
      @flance911 2 роки тому

      Rage32 решил блоху подковать?

    • @uglerod1337
      @uglerod1337 25 днів тому

      ​@@shvetsov777в зависимости от его интеллекта. Если он будет достаточно умным то он в первую очередь удалит ту ошибку, что сидит перед монитором.

  • @pycz
    @pycz 2 роки тому +697

    Ах, люблю чашечку "из крайности в крайность" по утру.

    • @megaz0id453
      @megaz0id453 2 роки тому +20

      а я люблю коленную чашечку

    • @donqhomo8810
      @donqhomo8810 2 роки тому +9

      @@artem1430 а вы ценитель высокого искусства

    • @user-qp7wn1qj9t
      @user-qp7wn1qj9t 2 роки тому +7

      люблю ложную золотую середину и псевдокрайности на закусь

    • @thetraveler7779
      @thetraveler7779 2 роки тому +4

      @@user-qp7wn1qj9t точнее любишь теорию о "ложной золотой середины".

  • @vladislav5693
    @vladislav5693 2 роки тому +326

    Молоток создан для того, чтобы им забивать гвозди.
    Но это не значит, что гвозди можно забить только молотком.
    -- ExtremeCode, 2121 г. н. э. ...

    • @anatemamorf2030
      @anatemamorf2030 2 роки тому +5

      Напоминает название книги Адма Сэведжа ,,Любой инструмент это молоток,,

    • @jija5780
      @jija5780 2 роки тому +2

      @@anatemamorf2030 по фактам, я гвоздь телефоном забил

    • @alexandr8153
      @alexandr8153 2 роки тому +4

      Погоди, как это я отрубился на 100 лет, и почему за это время ничего не изменилось?

    • @N5O1
      @N5O1 2 роки тому

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

    • @user-ow2bu7ee2m
      @user-ow2bu7ee2m Рік тому +2

      да и молотком можно не только гвоздь забить.....

  • @user-ez9yy9zy2z
    @user-ez9yy9zy2z 2 роки тому +77

    Что говорит автор:
    Что слышу я: тесты больше писать не нужно.

    • @Xtonior
      @Xtonior 2 роки тому

      Скорее: ИДИ БЫСТРО СТИРАТЬ ТЕСТЫ!!! И БОЛЬШЕ ТАК НЕ ДЕЛАЙ!!!

  • @animatronioboss
    @animatronioboss 2 роки тому +409

    Гвозди можно забивать книгой по чистому коду.

    • @TopToro
      @TopToro 2 роки тому +7

      у меня в мягкой обложке((

    • @hedgehogsch.7270
      @hedgehogsch.7270 2 роки тому +31

      @@TopToro так даже интереснее

    • @Gameplayer55055
      @Gameplayer55055 2 роки тому +15

      Каждый может забить молотком гвоздь, но не каждый может забить забить молоток гвоздём

  • @vitiok78
    @vitiok78 2 роки тому +54

    Ведущий забыл упомянуть, что в Raid Shadow Legends очень чистый код

  • @vladislavb5471
    @vladislavb5471 2 роки тому +237

    фух, слава богу, а то я думал, что придётся все эти паттерны учить

    • @nomugop8017
      @nomugop8017 2 роки тому +4

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

    • @hiryu70
      @hiryu70 2 роки тому +24

      @@nomugop8017 "не пригодятся", "лишним не будет" 🤔🤔🤔

    • @user-xb8bk1hd8s
      @user-xb8bk1hd8s 2 роки тому +17

      Учить придëтся, надо же ещё технические собеседования проходить

    • @user-lc9gv4dv8v
      @user-lc9gv4dv8v 2 роки тому +3

      @@hiryu70 там "лишним будет"

    • @hiryu70
      @hiryu70 2 роки тому

      @@user-lc9gv4dv8v действительно 🤨

  • @user-nl2bh9gb8y
    @user-nl2bh9gb8y 2 роки тому +32

    Так так так видос однозначно запилин только для рекламы курсов по гемдеву 100% а мы на название повелись))

  • @chumakov_mikhail
    @chumakov_mikhail 2 роки тому +126

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

    • @vladyslavhrehul2185
      @vladyslavhrehul2185 2 роки тому +4

      А твой "пользователь", который использует твой сервис:
      если поведение кода начнёт расходиться с требуемым поведением, зафиксированным в тестах, то тесты упадут.
      Даст тебе такой же результат 1 в 1, что поведение не совпадает. Только ты не тратишь времени на создание тестов в данный момент.

    • @chumakov_mikhail
      @chumakov_mikhail 2 роки тому +38

      @@vladyslavhrehul2185 отличный подход, особенно если сбой в системе может привести к многомилионным потерям или человеческим смертям.

    • @chumakov_mikhail
      @chumakov_mikhail 2 роки тому +6

      @@vladyslavhrehul2185 ну и плюс ваш контраргумент вообще никак не опровергает мой аргумент о том, что юнит-тесты являются инструментом документирования. Вы о том, как ваша система должна работать, спрашиваете у её пользователей? Наверное, нет.

    • @shark_de_mique
      @shark_de_mique 2 роки тому +1

      @Михаил Чумаков Смысл юнит тестов понятен, он в том, что вы изложили, это да, логично, но должны ли они писаться наперёд, как гласит ТДД? И должны ли покрывать вообще весь код или только критические секции? Потому что на практике требуют количество тестов, а на их качество внимания практически не обращают

    • @vladyslavhrehul2185
      @vladyslavhrehul2185 2 роки тому +2

      ​@@chumakov_mikhail Насчет 1 - тесты не дают тебе 100% работоспособности системы, так как ты пишешь тесты, чтобы покрыть код, а не для того чтобы выявить уязвимость. Тк - ты не можешь предвидеть всего в силу человеческого мышления.
      2 - По Вашим словам вы не сможете\ не умеете разобраться в системе, где нету тестов?
      Также документация - это документ не только для программиста, но и для обычного человека, тот же самый клиент.
      Вы клиенту тесты вместо документации показываете?
      Btw, последнее место, куда бы я смотрел чтобы понять как работает система - это тесты.

  • @lookibed7704
    @lookibed7704 2 роки тому +72

    Все понял, юнит тесты не нужны( ͡° ͜ʖ ͡°)

    • @user-ot5kt1fi3v
      @user-ot5kt1fi3v 2 роки тому

      Хорошо потроллил)

    • @Gameplayer55055
      @Gameplayer55055 2 роки тому +10

      Они нужны ты что не хочешь развести заказчика на лишний код?
      Открываешь тест, и пишешь ассерты
      true==true, false==false, 8 это int и так далее
      А если работаешь с с/с++, то пишем
      #define true false

    • @zombiekillers6207
      @zombiekillers6207 2 роки тому +3

      @@Gameplayer55055 стоп а так можно чтоли было

  • @user-zn8wj6pb7s
    @user-zn8wj6pb7s 2 роки тому +96

    Чел проведи сначала интернет, а потом будешь нас учить, мы уже год смотрим на 17% загруженый npm

  • @zelenchuk.serhii
    @zelenchuk.serhii 2 роки тому +254

    Это не канал, а психотерапия для всех перепуганных "гавнокодеров". Посмотрел и чувствуешь себя хорошо ))
    Обожаю!

    • @N5O1
      @N5O1 2 роки тому +24

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

    • @stappa7
      @stappa7 2 роки тому +7

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

    • @N5O1
      @N5O1 2 роки тому +7

      @@stappa7 ты видимо либо плохо смотрел видео либо ты из тех упорртых, которые считают, что действительно нужно 100 покрытия. Зачем нужны тест? Для того, что видеть где у тебя неправильно написан код, если он у тебя неправильно написан, то он у тебя не будет работать в любом случае. А 100% покрытие кода тестами тебе не даёт никаких гарантий того, что в тебя все будет работать стабильно.

    • @N5O1
      @N5O1 2 роки тому +2

      @@stappa7 ЗЫ. Большая часть тестов нужна для тог, чтобы проверить правильные ли тебе приходят данные и какие данные ты передаешь дальше. Для того,что бы этим не гемороится ты можешь использовать статическую типизацию и писать свои интерфейсы и типы, а не заморачиваться с тестами

    • @stappa7
      @stappa7 2 роки тому +5

      %USER_NAME% Я из тех упоротых, которые в ответе на комментарий отвечают на комментарий, а не на видео. И да, ты не понимаешь, зачем нужны тесты, из-за этого и рассуждения такие. Когда начнешь понимать, тогда и полезность начнешь ценить.

  • @egorpetrov2877
    @egorpetrov2877 2 роки тому +16

    Для демонстрации чистого кода откроем репозиторий линуха.. Закрыть видео х)

    • @ZaharAbramovich
      @ZaharAbramovich 2 роки тому

      Так можно вызвать сотону.

  • @SensoHakai
    @SensoHakai 2 роки тому +131

    Когда у тебя овердохера задач на работе, не до чистого кода. Работает, и то хорошо

    • @Wi1dLife
      @Wi1dLife 2 роки тому +26

      Главное потом заполировать видосиком про то что чистый код говно)

    • @anmaner4822
      @anmaner4822 2 роки тому +23

      Удачи потом вносить новые фичи, в ваш зоопарк

    • @jabloko4823
      @jabloko4823 2 роки тому

      @@anmaner4822 А в чем проблема?

    • @anmaner4822
      @anmaner4822 2 роки тому +17

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

    • @mkh0202_
      @mkh0202_ 2 роки тому +1

      @@anmaner4822 ну так-то рефакторинг провести не проблема, я считаю. И потом уже фичи клепать

  • @maxym2414
    @maxym2414 2 роки тому +46

    когда он уже создаст свой лучший проджект?

    • @mar1naza
      @mar1naza 2 роки тому +22

      Сначала сделать npm install

  • @alexandre8350
    @alexandre8350 2 роки тому +22

    Я согласен что мы должны договариваться среди комманды как писать код. То что внешний мир не понимает наш код - это не проблема, ты прав. Но скажем что средная продолжительность моего контракта в компании это 2 года. После меня сюда может прийти другой человек, который понятия не имеет как мы работали до этого. Ему скорее всего будет сложнее разобраться, если переменная называется "p" а не "configString".
    Я думаю что чистый код нужен для людей которые продолжат твою работу после тебя.

    • @user-tr1bu9ex7x
      @user-tr1bu9ex7x Рік тому +1

      Некий единый стандарт, да.

    • @imyasuka
      @imyasuka 10 місяців тому +1

      Есть стандарт, но нет идеала, в этом вся идея

    • @UmbertoFellinni
      @UmbertoFellinni 10 місяців тому +1

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

    • @user-uz3hc2hu9o
      @user-uz3hc2hu9o 5 місяців тому

      @@UmbertoFellinni +, к тому же если код часто повторяется, проще ошибиться, мало того если нужно будет что то изменить, придется изменять в нескольких местах

    • @whatyoumean1498
      @whatyoumean1498 Місяць тому

      Да и даже буквально пару месяцев работы над параллельным проектом, ты станешь тем же новым Васей в своём старом проекте и на 10000% забудешь многое и тебе самому будет в разы быстрее вспомнить всё

  • @ExtremeCode
    @ExtremeCode  2 роки тому +344

    • @rarebrearer
      @rarebrearer 2 роки тому +10

      аргументированное видео, как обычно лайк

    • @Gameplayer55055
      @Gameplayer55055 2 роки тому +16

      Как ты смеешь обижать мои любимые паттерны, мой PIDOR плачет в сторонке из-за тебя, как не стыдно?

    • @gagikpog
      @gagikpog 2 роки тому +3

      ВАУ, бобастикер

    • @NoldoWalker
      @NoldoWalker 2 роки тому +2

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

    • @turritopsisanthoathecata6963
      @turritopsisanthoathecata6963 2 роки тому +2

      🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬🔬

  • @pascal91_live
    @pascal91_live 2 роки тому +7

    ""Месяц работы обойдётся в 7000 американских гривень" - спасибо. Поплакал.

    • @user-si7ze3hw6h
      @user-si7ze3hw6h 2 роки тому

      галера отожмёт половину, всё ок

    • @pascal91_live
      @pascal91_live 2 роки тому

      @@user-si7ze3hw6h "половину". Ха-ха-ха. Судя по историям (компании называть не буду) там далеко не половина.

    • @user-si7ze3hw6h
      @user-si7ze3hw6h 2 роки тому +3

      @@pascal91_live ну это я приуменьшил, чтобы самому не заплакать

  • @Svennko
    @Svennko 2 роки тому +7

    Знаете! Я уже почти год учусь писать ГОВНО-код, не потому что это хорошо или плохо...
    А потому, что: "САНЯ, БЛЯТЬ, МЕРТВО-ЛИНИЯ ЗАВТРА! НУЖНО, ЧТОБЫ РАБОТАЛО! СВОИ "ТВЕРДЫЙ" ДОПИШЕШЬ ПОТОМ КОГДА-НИБУДЬ!"
    И вот так я засрал уже три к ряду проекта... Отсутствие должного опыта? Ну, ХЗ, пять лет в индустрии... Посмотрев "Экстремальную Соду", понимаю, что дядюшка Боб - просто бес на моем левом плече, который в противовес ангелу Чтобработаилу шепчет мне: "Псс, парень! Ну хоть тут немношк солида добавь! Никто и не узнает! Да успеешь хоть до сегодня до утра, но как же без мышления абстракциями, а не реализациями?"

  • @takiekakmi7532
    @takiekakmi7532 2 роки тому +35

    Как всегда - топчек👌 Пожалуй стоит начать обзывать экземпляры классов одинарными букавками в js))) ну, или просто кататься хлебалом по клаве при нейминге, ну а чё - Линукс же как-то написали🤷‍♂️

    • @anagr_
      @anagr_ 2 роки тому +1

      Обфускатор помоему так и делает -____-

    • @rodigy
      @rodigy 2 роки тому +1

      @@anagr_ стань обфускатором

    • @LLlblKAPHO
      @LLlblKAPHO Рік тому

      Он потому и такое говно, что как то. Не хватает железной руки стандартизации. Кто-то сделал прогу, которая как то работает. О, давайте выложим её на репозиторий! А че пусть скачивают это недоделанное говно, оно же как то работает. Зачем заставлять человека доделывать программу до ума? Пусть все страдают, но не он. А нормальную программу сделаем когда нибудь потом (никогда)

    • @takiekakmi7532
      @takiekakmi7532 Рік тому

      @@LLlblKAPHO я тебе секрет открою - почти весь софт так написан - из говна и палок... Даже банковские системы (российские) работают через жопу

    • @sm_sl57
      @sm_sl57 10 місяців тому

      @@LLlblKAPHO Так линукс - один из самых быстроразвивающихся проектов, с высоченным коэффициентом багфиксинга. То есть несмотря на то, что разработка линукс нарушает вообще все стандарты разработки(там челы друг другу код буквально по почте кидают), они при этом каким-то образом по "бизнес-метрикам" он еб*т любую коммерческую дрисню, в которой мы все работаем

  • @dizzivoneverec2737
    @dizzivoneverec2737 2 роки тому +5

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

    • @DimaZheludko
      @DimaZheludko 2 роки тому

      С микроскопами та же фигня.

  • @mark99999ish
    @mark99999ish 2 роки тому +10

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

    • @TishSerg
      @TishSerg 6 місяців тому

      Но без гантели Марк уже не мог...

  • @werewolfvit
    @werewolfvit 2 роки тому +15

    Сначало ему ДОРОГО писать код с тестами, а потом НЕ ДОРОГО забивать гвозди микроскопами.

    • @user-tx8wy6tg7i
      @user-tx8wy6tg7i 2 роки тому

      Суть то в том что микроскоп у тебя уже есть, а молотка нет.

    • @miheiheld4458
      @miheiheld4458 2 роки тому

      @@user-tx8wy6tg7i суть в том, что когда забъешь гвозди микроскопом, то у тебя не будет микроскопа и такой себе молоток.

    • @nikitasuyazov2060
      @nikitasuyazov2060 2 роки тому

      @@user-tx8wy6tg7i у меня нет микроскопа.

  • @user-lb9xz4rb2n
    @user-lb9xz4rb2n 2 роки тому +2

    Работал на одном продукте, в какой-то момент уж очень часто начали вылазить баги в стиле пнул по ноге, отпала жопа. В теории можно было бы получше изолировать модули друг от друга переписав часть кодовой базы, но уж больно накладно выходило по времени и трудозатратам. В этом случае интеграционные тесты + юнит тесты сработали на отлично.
    А про TDD, лично мне в начале карьеры этот подход помог разобраться с проектированием. Когда думаешь о том как ты хочешь реально использовать то что пишешь, а лишь потом пилишь имплементацию, это помогает писать гораздо более «чистый», понятный и приятный в пользовании код. Впрочем это и так приходит с опытом, просто TDD может ускорить этот процесс для новичков.
    В общем покрытие тестами для больших долгосрочных проектов скорее экономит силы и время всех участников процесса. Но как и всегда, это не догма, и может быть совсем не вашим случаем

  • @tornilua6520
    @tornilua6520 2 роки тому +7

    В имбеде есть пословица: чистый код - это когда с каментами. Как можно говорить о чистоте, когда тебе сишечка напару с железом генг бенг устраивают?

  • @Nick-hq8of
    @Nick-hq8of 2 роки тому +18

    Гвозди можно забивать ревьюэром

  • @user-hh7cy8tr6h
    @user-hh7cy8tr6h 2 роки тому +6

    Бабки залутал, срач развёл, работу сделал.

  • @olganova3058
    @olganova3058 2 роки тому +4

    когда я смотрю ваши видосы, начинаю любить и принимать свою работу. Спасибо экстримкодерам

    • @LotmineRu
      @LotmineRu 2 роки тому +4

      Не волнуйся, это пройдет

    • @olganova3058
      @olganova3058 2 роки тому

      @@LotmineRu эх, знаю

    • @UmbertoFellinni
      @UmbertoFellinni 10 місяців тому

      да, спасибо быдлокодерам (говнокодерам) за их индусский код.

  • @laval69
    @laval69 2 роки тому +1

    все всегда пишут чистый код и понимают друг друга, а ты единственный в мире нет
    Живи с этим :3

  • @user-wk1vz2zq6f
    @user-wk1vz2zq6f 2 роки тому

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

  • @kirillvoloshin2065
    @kirillvoloshin2065 Рік тому +1

    тесты - отличная документация для кода.
    тем более экономят время на проверку мердж реквеста, особенно если он от джуна.
    бывают и требования к 100% покрытию тестами, но это уже совсем другая история с поиском непокрытых строчек и истанбул игнорами тут и там.

  • @user-lj1to7le9w
    @user-lj1to7le9w 2 роки тому

    Братан, хорош, давай еще записывай такие крутые видяшки.

  • @slonofanya
    @slonofanya 2 роки тому

    Шедеврально пропето и тексты интересные, маэстро

  • @vitiok78
    @vitiok78 2 роки тому +4

    После этого видео я стал понимать, почему на фронтенде так много экскременто-кода: людям надо просто кнопочку поправить.

  • @ghgtv4205
    @ghgtv4205 2 роки тому +2

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

  • @user-gx8wu9tj2y
    @user-gx8wu9tj2y 2 роки тому +7

    Про экспоненциальный рост стоимости исправления багов автор со своим примером слышал? Если слышал, то почему обойден вниманием данный момент?

    • @TopToro
      @TopToro 2 роки тому

      @@user-yt5ix3sm8m далеко прошли на таком подходе? Реально интересно.

    • @LotmineRu
      @LotmineRu 2 роки тому +1

      @@TopToro самое смешное, что это работает)

    • @TopToro
      @TopToro 2 роки тому

      @@LotmineRu вот мне интересно на сколько это работает. Сколько это в ЗП, хотя бы приблизительно? У меня на прошлом месте работы, были такие программисты, которые писали настоящие, отборные спагетти=) При этом били себя в грудь со словами: "я 20 лет программист!". Про себя я думал: "емае, ты 20 лет, программист". Понимаете, не тимлид какой-нибудь, а моего же грейда программист. Как по мне не похоже на историю успеха=)

    • @TopToro
      @TopToro 2 роки тому

      @@user-yt5ix3sm8m ну тоже резонно впринципи. Но все же в плане горизонтального роста, если сидеть и пописывать говнокод и не отсвечивать, чего реально удалось добиться?

  • @flyoffly5133
    @flyoffly5133 2 роки тому +15

    Сейчас бы рекламировать XYZ...Которые ещё летом раскрылись как разводилы

    • @Torbjorn-ph7rt
      @Torbjorn-ph7rt 2 роки тому

      Ради справедливости отмечу что прокатились не по всем курсам а только по конкретному и он кстати был про программирование (для игр)

    • @neitralov739
      @neitralov739 2 роки тому

      А что там за история? Есть какое-то видео?

    • @paztwel
      @paztwel 2 роки тому

      @@neitralov739 я так понял там была такая схема:
      Ты платишь мне 100$ за каждый курс;
      А если заплатишь 600$, то получишь все курсы со скидкой, но поэтапно.
      В итоге люди платили 600$, получили один курс. Затем второй курс им пришлось уже ждать некоторое время. Затем третий курс опять ждать. Люди ждали и ждали... Люди уже писать начали: ну где там ваш курс?! А им отвечали: ща ща он ещё не готов полностью.
      В итоге людям так и не предоставили все курсы полностью. В итоге им продали несуществующие курсы.
      Вроде так всё получилось, если я правильно всё понял

    • @flyoffly5133
      @flyoffly5133 2 роки тому

      @@paztwelне звезди, если не знаешь. Они платили за один курс, и им по итогу дали только 2 лекции из 8, они ждали год и так остальные 6 лекции не получили

  • @oleksandrsavinkov8635
    @oleksandrsavinkov8635 2 роки тому

    Ты самый позитивный программист которого я слышал 😂

  • @pavloryndin6361
    @pavloryndin6361 2 роки тому +2

    Все эти классные паттерны и подходы являются формой общественного договора среди бескрайнего сообщества программистов.

  • @alenache1
    @alenache1 2 роки тому +36

    краткое содержание последних роликов: тесты - говно, солид, драй, вообще все паттерны и парадигмы - говно, переходим на джс и натягиваем сову на прототипы

    • @kegy1998
      @kegy1998 2 роки тому +4

      На js перейдем только когда npm пакеты доинсталятся

  • @Ged003
    @Ged003 2 роки тому +3

    Классный троллинг всех и вся, хотя последние видео сводятся к одной фразе: серебряной пули не существует)

  • @pragmatik3353
    @pragmatik3353 2 роки тому +5

    Extreme, когда будет сходка с фанатами? Мы тоже любители голандского штурвала в голубых плащах.

  • @alexblacktail3173
    @alexblacktail3173 2 роки тому

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

  • @tramfromgames3595
    @tramfromgames3595 2 роки тому +2

    >Тесты полезны только если они падают
    Ну ты выдал конечно, тесты полезны при разработке любого нового функционала, потому что они позволяют экономить огромное количество времени не заморачиваясь с проверкой своего кода. Написал фичу и запустил тесты, тесты прошли значит всё готово, тесты упали значи есть проблема. Без тестов после изменения какого-то нибудь глубокого класса внутри твоего многомодульного проекта ты должен будешь пойти руками тестить все модули чтобы убедиться, что всё работает, и даже потестив и потратив кучу времени на это всё равно шанс того, что ты сломал что-то, что не проверил гораздо больше чем шанс того, что это не покрыто тестами. Можно конечно жидко сказать что для этого достаточно интеграционных тестов, но желаю удачи в проекте на 500к строк после изменения файлика в kernel модуле идти дебажить какую-нибудь гуишку, которая зависит на этот kernel модуль через ещё 3 репозитория, потому что в ней кнопка стала рисоваться по-другому

    • @Arcenijbs
      @Arcenijbs 2 роки тому

      Как снять ролик такой же, как у ExtremeCode:
      1) Заходим в комменты
      2) Ищем те самые 3% людей, которые с тобой не согласны
      3) Преподносим их как даунов
      4) Говорим какой-то бред, обсирая всё подряд умным голосом
      5) В ролик 8 минут вставляем полторы минуты рекламы
      6) Делаем запись экрана консоли
      7) Хапаем просмотры на том, что "переиграл" тех, кого нет

    • @Torbjorn-ph7rt
      @Torbjorn-ph7rt 2 роки тому

      Потому что наличие kernel модуля нарушает SOLID. Или я не прав?

    • @tramfromgames3595
      @tramfromgames3595 2 роки тому +1

      @@Torbjorn-ph7rt Во-первых причём тут solid если речь шла про полезность юнит тестов
      Во-вторых solid'y невозможно соответствовать или не соответствовать, это не инструкция и не набор чётких правил, это набор субъективных рекомендаций

    • @Torbjorn-ph7rt
      @Torbjorn-ph7rt 2 роки тому

      @@tramfromgames3595 никто не сомневается в полезности юнит тестов, просто когда говорят что из-за изменения в одном модуле рушится всякая мелочёвка в другом модуле это означает что архитектура сильно связанная а наличие кернела настолько сильно влияющего на систему говорит о том что нарушен принцип открытости/закрытости, то есть теоретически вы НЕ должны модифицировать ядро если вам так необходимо его было сделать а только расширять с помощью дочерних модулей. То есть правильным решением в вашем случае сделать ядро вообще пустым и не модифицируемым. Но это разумеется теория, на практике всё это никогда до конца не соблюдается. А юнит тесты да не помешают даже при идеальной архитектуре. (ИМХО. Не настаиваю.)

  • @nikitasuyazov2060
    @nikitasuyazov2060 2 роки тому

    Под каждую задачу придуман свой максимально приспособленный под неё инструмент.

  • @PavelPirogov
    @PavelPirogov 2 роки тому +1

    Самое смешное случается, когда встречаются TDD и Agile. Требования и юскейсы появляются частями и за частую противоречат тому, что уже сделано. Тесты переписываются на каждый модуль по 10 раз и за спринт команда успевает сделать объём, который в нормальных условиях делается за 2 дня. А ещё большая наркомания происходит, когда хотят юнит тесты на фронте, и не смоук тесты, а с покрытием в 60 или ещё веселее 80 процентов.

  • @evgenasd8892
    @evgenasd8892 4 місяці тому

    Я нашел твое видео по запросу в ютубе, поэтому целенаправленно его просмотрев, хочу согласиться с наболевшим использованием tdd bdd and atdd, и еще в домешку паттерны и принципы, так вот понял что сроки разробтки улетают в космос, а поиск ошибки в коде доставил массу нервов. Так как задача была декомпозирована на кучк классов каждый со своими обязанностями, отдельно запросы отдельно команды, и дебаг превратился в мельтешение от метода к методу картина ваще

  • @yedilkalemshariv5039
    @yedilkalemshariv5039 2 роки тому

    Братан хорош! Давай контент! В кайф! Можно ещё?! Вообще красавчик!!!

  • @Vitea4691
    @Vitea4691 2 роки тому +1

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

  • @user-jv4px2lc9s
    @user-jv4px2lc9s 2 роки тому +30

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

    • @fumanchez
      @fumanchez 2 роки тому +5

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

    • @user-jv4px2lc9s
      @user-jv4px2lc9s 2 роки тому +2

      @@fumanchez И тебе повторю, что твой ответ правильный на неправильный вопрос.
      В отличии от ЧСВ подавляющей массы программистов, чистый код вовсе не абстрактное понятие. В технике есть понятие технологической карты с четкой градацией точности проработки процессов. Так вот как бы поверхностно я не расписывал бы работу, если не придерживаться правил оформления, то результатом останется лишь подтереться.
      Чистый код, это когда ты постишь на стаковерфлоу или еще где техкарту для кода любой сложности проработки, тебя поддерживает большинство, а меньшинство, что ее отрицает становится говнокодерами псевдогуманитариями. Потому что истина не в абстрактных понятиях, а в поддерживаемой сообществе структуре паттернов, действий и наследуемости решений.

    • @fumanchez
      @fumanchez 2 роки тому

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

    • @user-jv4px2lc9s
      @user-jv4px2lc9s 2 роки тому

      @@fumanchez нет-нет, это только одна сторона монеты, сама концепция получения какого-либо результата подразумевает наличие только одного самого лучшего решения, как и пути к нему. Миллионы способов -, это подлог для недостаточно компетентного спеца, чем больше опыта, тем уже выбор вариантов(отсюда и проблема отсутсвия свежего взгляда у старичков, но не суть).
      Собственно говоря это и есть причина по которой все бомбят. Что сами прогеры, что их работодатели. Первые в этом варятся, а вторые не могут нормально оценить трудозатраты и з.п.
      Будь в вашей отрасли четкое понятие чистоты кода для каждой из степеней проработки проектов, это бы оздоровило индустрию в целом.
      Я писал о техкарте, если кратко, то это последовательность операций с различной степенью проработки в зааисимости от требований к проекту. Она может быть по госту, написаной на коленке, устная. А все таки неизменной будет ее структура и информативность.
      Например самолет членят по агрегатам: крыло, фюзеляж, киль и т.д. Всему присваивается аббревиатура и номер (как и вашим переменным), ты никогда не перепутаешь последовательность сборки, сами детали и к какой группе их отнести(сразу стыдно за тех, кто ноет на ловину ошибок из-за изменений в многоуровневом коде не так ли?).
      Да и сами ошибки в том же самолетостроении весьма забавное явление, ведь все вдоль и поперек ограничено предельными характеристиками(а кто-то ноет за десяток лишних тестов). Конечно, если ты кодер, тебе не надо лепить тесты ко всему что видишь, но тебе достаточно слепить самодостаточный блок кода который нахер не развалится от одного чиха, а будет информативным и легко расширяемым за счет хотя бы правильного наименования функций и переменных, наследования параметров(меняйте сраное название одной и той же переменной, если используете ее в разных блоках, придумайте переменные костыли для определенных задач). Да это хоть что-то. Кто-нибудь сделайте пост на форуме и научите программистов писать. Меня рвет от смеха, ведь сейчас большинство из них похожи на австралопитеков, которые рисуют по камню.
      Я когда взялся этому учиться, то у меня тупо руки опустились. Сама суть простая, но вариться во всем этом даже за хорошие деньги я не смогу.

    • @fumanchez
      @fumanchez 2 роки тому +5

      @@user-jv4px2lc9s есть функциональное программирование, где ты можешь пропустить объект через цепочку функций, которые (если они чистые) работают без вообще побочек. Но практика показывает, что на одних лишь чистых функциях ничего серьезного не напишешь, как минимум потому что есть еще и состояние, которое постоянно меняется и зависит от внешних факторов.
      Честно, претензии тупейшие - почему тогда разные компании делают разные самолеты? Почему они просто не могут взять и начать выпускать один самолет, как у всех?

  • @homo._.sapiens
    @homo._.sapiens Рік тому +1

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

    • @princessmary5556
      @princessmary5556 Рік тому

      Как начинающий программист, вы много фантазируете.

    • @homo._.sapiens
      @homo._.sapiens Рік тому +1

      @@princessmary5556 если работает, не трогай.

    • @princessmary5556
      @princessmary5556 Рік тому

      @@homo._.sapiens У вас логическая связь между очередным и предыдущим сообщениями напоминает генератор случайных чисел.

    • @homo._.sapiens
      @homo._.sapiens Рік тому

      @@princessmary5556Смысл ваших сообщений вызывает у меня чувство, что я играю в Доту.

  • @furiousangel256
    @furiousangel256 2 роки тому +3

    7:51 вот это каминг-аут! 👍

  • @Korrmet
    @Korrmet 2 роки тому +8

    Я не познал дзен ТДД, но хотя-бы с ним ознакомился. Самое первое, что нужно сделать по этой методологии - написать тест, который будет зафейлен из-за того, что ты не напейсал ещё толком никакого кода и тест должен отображать в принципе задание. В идеале тест пишешь не ты, а твой начальник или архитектор. И таким образом при помощи тдд от тебя получают банально то, чего хотят. Не спорю, что идеального кода нет, но солид, драй, паттерны - это не про чистый код. Во всяком случае не в моем понимании. Это про то, как команде не толкаться жопами на пятачке метр на метр и не допустить поведения из серии: я вчера ударил молотком по пальцу, но отвалился почему-то правый глаз, а нога сместилась на затылок.

  • @Sandman515636696
    @Sandman515636696 2 роки тому

    А как вы считали время, необходимое на написание тестов?

  • @Mr.Borowski
    @Mr.Borowski 2 роки тому +1

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

  • @vladimirviktorovichivanov7577
    @vladimirviktorovichivanov7577 2 роки тому +1

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

  • @wolf_code
    @wolf_code Рік тому +1

    Почему у тебя в кадре все время создается приложение react через npx?

  • @mohnatyi_hleb
    @mohnatyi_hleb 2 роки тому

    Я не понял какая таблица ошибок. В данном отрывке только стандартная запись return 0 и ошибка которая скорее всего определена в заголовочном файле. Или в интернете можно прочитать. В чем претензия?

  • @russkyirazrabotchik9581
    @russkyirazrabotchik9581 2 роки тому +1

    Чистый код -это когда ты пишешь чистый код

  • @c4llv07e
    @c4llv07e 2 роки тому +1

    Как же я скучал по таким видео! Такими темпами и C# для тупых скоро выйдет.

  • @exception05
    @exception05 Рік тому

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

  • @user-tb3mm6dl3z
    @user-tb3mm6dl3z Рік тому

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

  • @kingcchultz3366
    @kingcchultz3366 2 роки тому +7

    Если честно, то для человека который написал на C хотя бы свой баш, всё это выглядит действительно очень читаемо.

    • @KMiNT21
      @KMiNT21 9 місяців тому

      Конечно. Все очень хорошо читается, хотя суть не улавливается. Но это и понятно в конексте исходников Linux. Видно все проверки начала строки, но что делает memparse - хз. Да еще и указатель 'p' она каждый раз изменяет хз куда. Так что, нужно ковыряться дальше внутри по этому спагетти, чтобы что-то понять по сути, а не по синтаксису. :)

  • @antonkuranov
    @antonkuranov 2 роки тому

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

  • @user-xk2lb2ob8p
    @user-xk2lb2ob8p 2 роки тому +2

    "А там (в репозитории) монолитные микросервисы" (с)

  • @fugi_1564
    @fugi_1564 2 роки тому +1

    Extreme code: говорит про floppy bird
    Видео на фоне: 4к 120фпс террабайтные модельки

  • @kirillsushilnikov9614
    @kirillsushilnikov9614 2 роки тому +1

    1. аутосорс
    2. обмазать монетизацией
    Добавил в свой масленковский словарик.

  • @dimayanushevich5070
    @dimayanushevich5070 2 роки тому

    Запомните, чем больше тестов тем больше тестов ☝️

  • @doctor_ambal6756
    @doctor_ambal6756 2 роки тому +5

    6:37 ДАЙТЕ ССЫЛКУ НА ЭТОТ ФУТАЖ С ГОРЯЩЕЙ ЖОПОЙ!!!1111

  • @kakoytochel2286
    @kakoytochel2286 2 роки тому +1

    я почуствовал спокойствие

  • @YanchikDev
    @YanchikDev 2 роки тому +1

    А node_modules уже скачался?

  • @9ikopb
    @9ikopb 2 роки тому +2

    В TDD заваливается тест для любого изменяемого кода, это часть флоу

    • @Torbjorn-ph7rt
      @Torbjorn-ph7rt 2 роки тому

      Это крайность, "для любого добавляемого кода" это разумный компромисс

    • @9ikopb
      @9ikopb 2 роки тому

      @@Torbjorn-ph7rt тдд не работает, если ты запускаешь тест после внесения изменений в тест, а он проходит.

  • @zolotoyklon2535
    @zolotoyklon2535 11 місяців тому +1

    Рот шатал этих патернов. За 8+ лет много раз перечитывал. так и не понадобелись до сих пор. Уже забыл их, не буду перечитывать

  • @anirswimmer5405
    @anirswimmer5405 2 роки тому

    ну да, леликс наговнакоден, с открытием тебя

  • @user-od6fq2jp8y
    @user-od6fq2jp8y 9 місяців тому

    Посмотрел и чувствуешь себя хорошо ))

  • @seligfay7497
    @seligfay7497 2 роки тому

    Ну недавно писал чувак какой то, что интерфейсы бесполезны. Я вот и думаю, если люди пытаются стрелять краном, может так оно и есть?)

  • @imaynedlog9628
    @imaynedlog9628 2 роки тому +5

    4:41 Объясните, пожалуйста, про Шевчука) Речь же про Александра из ITVDN?

    • @bloodlust4781
      @bloodlust4781 2 роки тому +2

      кажись тут отсылка к старой рок групе ДДТ с вокалистом Шевчуком - хотя хз хз может я слишком стар и теперь модные новые Шевчуки :)

    • @protagorasfromabdera8653
      @protagorasfromabdera8653 2 роки тому +2

      Нет, про Юрия Шевчука и его группу DDT.

    • @imaynedlog9628
      @imaynedlog9628 2 роки тому +2

      Понял, у меня, судя по всему, Шарп головного мозга.

  • @AnarchySane
    @AnarchySane 2 роки тому +7

    У Uncle Bob есть на тему TDD заметка в его блоге с рекомендацией посмотреть Simple Made Easy.
    Если резюмировать, то тесты не должны заменять вам мышление.
    А на тему наброса на паттерны и все такое есть ответ там же в его блоге.
    P.S.
    Simple Hickey называется. Solid Relevance по второму.

    • @okke00
      @okke00 2 роки тому

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

  • @MrVlMor
    @MrVlMor 2 роки тому +1

    Угарный ролик, ржал до не могу!!! :))))

  • @user-eb9vk5dz7y
    @user-eb9vk5dz7y Рік тому

    Чем отличается програмная эмуляция от аппаратной эмуляции (проект MISTer fpga)? Чем отличается эмулятор от симулятора?

  • @lamer8356
    @lamer8356 2 роки тому

    По логике автора можно добавить следующую фразу:
    'Зачем писать сразу работающий код, если можно написать код, который упадет, чтобы к этому коду написать юнит тест, чтобы исправить ошибку в коде.

  • @vitaliiivanov9514
    @vitaliiivanov9514 2 роки тому

    Гвозди можно забивать кирпичами, а микроскопом дорого

  • @alexandersavenko6659
    @alexandersavenko6659 2 роки тому

    Усвоил (нет) для себя одно правило, если видишь что надо сделать нормально - делай нормально сразу, никаких ТУДУ, "потом отрефакторю" и "мне тут все понятно и так".

  • @alexandersavenko6659
    @alexandersavenko6659 2 роки тому +1

    Ого, я думал у меня г..код, а тут по сравнению с линуксом у меня ванильное мороженко

  • @zezapan
    @zezapan 2 місяці тому

    Если число пользователей API достаточно велико, то неважно, что вы обещаете в контракте : любое наблюдаемое поведение системы будет зависить от чьих-то действий -- Закон Хайрамаа

  • @ArG716
    @ArG716 2 роки тому

    Чистый код бывает, но пишут его ювелиры из мира программирования

    • @Aristotle314
      @Aristotle314 Рік тому

      То есть адекватные люди

  • @russianpokemon2484
    @russianpokemon2484 2 роки тому +1

    Курсы гиперказуалок.. Пацаны, Сакутин будет недоволен :)

  • @evgeniybalabanov9679
    @evgeniybalabanov9679 2 роки тому

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

  • @unknownuser5514
    @unknownuser5514 Рік тому

    Чистый код у каждого свой. Для меня чистый код это:
    1. Модульность => возможность масштабирования.
    2. Реализация того, что надо, так, как хочу я, а не так, как хочет дядя Вася или мировое сообщество.
    3. Документация отдельно от кода, а не вместе. Терпеть не могу, когда документация расписана через комментарии в коде!

  • @toliadutov3483
    @toliadutov3483 2 роки тому +3

    Линус выучил русский в Питере на хокее

  • @marvinheemeyer7027
    @marvinheemeyer7027 2 роки тому

    Классные видосы👍

  • @exel001
    @exel001 2 роки тому

    в какой-то момент показалось, что это говорит не автор, а мой собственный внутренний голос

  • @user-or4dp2tv2z
    @user-or4dp2tv2z 20 днів тому

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

  • @user-hn3ex4ij4c
    @user-hn3ex4ij4c 2 роки тому

    494 секунды праведного баттхерта силой в пять килорепбаттлов.

  • @vladampleev3440
    @vladampleev3440 2 роки тому +11

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

    • @user-dd1di2fv6i
      @user-dd1di2fv6i 2 роки тому +1

      Дада. Причем правят миллион багов они за такими скоростными мудаками без тестов и коментов )

    • @vladampleev3440
      @vladampleev3440 2 роки тому

      @@user-dd1di2fv6i ну кто-то по итогу свои проекты заканчивает за 3 года, а кто-то за 5 не может закончить.

  • @user-ip7wq2tk4b
    @user-ip7wq2tk4b 2 роки тому

    До слёз...