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

  Рет қаралды 210,598

ExtremeCode

ExtremeCode

Күн бұрын

Пікірлер: 705
@ExtremeCode
@ExtremeCode 2 жыл бұрын
Братан, хорош, давай подпишись на наш Telegram канал, мы там байки и кулстори травим 🖤 t.me/extremecode
@ОООПетроСофт
@ОООПетроСофт 2 жыл бұрын
Не путайте код с листингом программы. Код может быть для процессора. Так вот чистый код такой, что задача выполняется на данной архитектуре, но при этом код занимает меньше места или обеспечивает максимальное быстродействие (зависит от цели)
@VeronikaBodnar
@VeronikaBodnar Жыл бұрын
В чем разница между чистым и нечистым кодом?.
@ОООПетроСофт
@ОООПетроСофт Жыл бұрын
@@VeronikaBodnar Оптимальный: самый короткий или самый быстрый
@jija5780
@jija5780 3 жыл бұрын
Чистый код - пустой файл Конфуций (2025-2029 )
@Valentin_I
@Valentin_I 3 жыл бұрын
Вот да. Когда писал чистый код, всегда получал пустые файлы
@YngvinLion
@YngvinLion 3 жыл бұрын
а если в метаданные говно попало?
@jija5780
@jija5780 3 жыл бұрын
@@YngvinLion вилкой до блеска отчистить
@oljjol
@oljjol 3 жыл бұрын
нет, к нему тесты не написаны!
@jija5780
@jija5780 3 жыл бұрын
@@oljjol тесты загрязняют код, поэтому их нетк
@svyatocheckjoe9820
@svyatocheckjoe9820 3 жыл бұрын
Здравствуйте, пишите код хорошо, а плохо не пишите. До свидания!
@boypenis
@boypenis 4 ай бұрын
без конкретики такой тезис не имеет смысла. Так же можно назвать твою мамку любым оскорбительным словом, и плевать на твои чувства и факты
@rage3225
@rage3225 3 жыл бұрын
"А тем, кто считает, что гвозди можно забивать только молотками, желаю самого наилучшего" - и пошел забивать гвозди своей увесистой мясной битой
@НикитаБелоусов-о1з
@НикитаБелоусов-о1з 3 жыл бұрын
садиться жопой пока гвоздь не погнется, либо жопа не будет разодрана в мясо
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Я от орехи разбиваю рукой. Гораздо удобнее, чем бежать за молотком
@shvetsov777
@shvetsov777 3 жыл бұрын
Интересно если написать ии для дебага то 1 что он сделает это удалит код?
@flance911
@flance911 2 жыл бұрын
Rage32 решил блоху подковать?
@uglerod1337
@uglerod1337 6 ай бұрын
​@@shvetsov777в зависимости от его интеллекта. Если он будет достаточно умным то он в первую очередь удалит ту ошибку, что сидит перед монитором.
@pycz
@pycz 3 жыл бұрын
Ах, люблю чашечку "из крайности в крайность" по утру.
@megaz0id453
@megaz0id453 3 жыл бұрын
а я люблю коленную чашечку
@donqhomo8810
@donqhomo8810 3 жыл бұрын
@@artem1430 а вы ценитель высокого искусства
@ястреб-ц7ц
@ястреб-ц7ц 3 жыл бұрын
люблю ложную золотую середину и псевдокрайности на закусь
@thetraveler7779
@thetraveler7779 3 жыл бұрын
@@ястреб-ц7ц точнее любишь теорию о "ложной золотой середины".
@lev.becker
@lev.becker 3 жыл бұрын
Все помнят статусы ошибок наизусть и замечательно понимают их из контекста!
@FreakyKot
@FreakyKot 3 жыл бұрын
А почему у этого комента так много лайков?
@FreakyKot
@FreakyKot 3 жыл бұрын
Когда над одним проектам работают 1+ команд или даже так, когда работают 1+ человек. То примерно через месяц не кто не помнит, ни коды ошибок, а из контекст может только больше запутать)
@lev.becker
@lev.becker 3 жыл бұрын
@@FreakyKot 1:36
@fumanchez
@fumanchez 3 жыл бұрын
Ну конкретно сишники их реально помнят. Да и в C# есть методы сравнения, которые возвращают int отрицательный, положительный или 0. Почему не int'овый enum? А хуй знает, работаем с тем что есть.
@Jewbender
@Jewbender 3 жыл бұрын
Ctrl + F
@stow1x
@stow1x 3 жыл бұрын
Гвозди можно забивать книгой по чистому коду.
@TopToro
@TopToro 3 жыл бұрын
у меня в мягкой обложке((
@hedgehogsch.7270
@hedgehogsch.7270 3 жыл бұрын
@@TopToro так даже интереснее
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Каждый может забить молотком гвоздь, но не каждый может забить забить молоток гвоздём
@inikonelectrix2349
@inikonelectrix2349 5 ай бұрын
на гвозди можно забить и не забивать
@vladislav5693
@vladislav5693 3 жыл бұрын
Молоток создан для того, чтобы им забивать гвозди. Но это не значит, что гвозди можно забить только молотком. -- ExtremeCode, 2121 г. н. э. ...
@anatemamorf2030
@anatemamorf2030 3 жыл бұрын
Напоминает название книги Адма Сэведжа ,,Любой инструмент это молоток,,
@jija5780
@jija5780 3 жыл бұрын
@@anatemamorf2030 по фактам, я гвоздь телефоном забил
@alexandr8153
@alexandr8153 3 жыл бұрын
Погоди, как это я отрубился на 100 лет, и почему за это время ничего не изменилось?
@N5O1
@N5O1 3 жыл бұрын
и что не так с этим утвержденим? молотком можно еще стекла и головы вонокодерам бить. а гвозди при хорошей снаровке можно и голой рукой заколачивать. так что там все логично и верно.
@vataRF
@vataRF 2 жыл бұрын
да и молотком можно не только гвоздь забить.....
@НикитаРовнин
@НикитаРовнин 3 жыл бұрын
Что говорит автор: Что слышу я: тесты больше писать не нужно.
@Xtonior
@Xtonior 2 жыл бұрын
Скорее: ИДИ БЫСТРО СТИРАТЬ ТЕСТЫ!!! И БОЛЬШЕ ТАК НЕ ДЕЛАЙ!!!
@СтаниславСидоров-ы6м
@СтаниславСидоров-ы6м 3 ай бұрын
Да не он скорее о том что многие тесты примитивны и избыточны и проверяют что 0 равен 0 а не о том что их не надо писать
@vitiok78
@vitiok78 3 жыл бұрын
Ведущий забыл упомянуть, что в Raid Shadow Legends очень чистый код
@etdridtyperrotthceskiy8327
@etdridtyperrotthceskiy8327 3 жыл бұрын
когда код написанный евреями стал чистым?
@vladislavb5471
@vladislavb5471 3 жыл бұрын
фух, слава богу, а то я думал, что придётся все эти паттерны учить
@nomugop8017
@nomugop8017 3 жыл бұрын
Паттерны сложная, но довольно познавательная штука, да не все пригодятся, но лишним будет
@hiryu70
@hiryu70 3 жыл бұрын
@@nomugop8017 "не пригодятся", "лишним не будет" 🤔🤔🤔
@360-sreet-view
@360-sreet-view 3 жыл бұрын
Учить придëтся, надо же ещё технические собеседования проходить
@ШуРик-д9ж
@ШуРик-д9ж 3 жыл бұрын
@@hiryu70 там "лишним будет"
@hiryu70
@hiryu70 3 жыл бұрын
@@ШуРик-д9ж действительно 🤨
@chumakov_mikhail
@chumakov_mikhail 3 жыл бұрын
Смысл юнит-тестов не только в том, чтобы упасть, но и в том, что они по сути описывают требования и контракты, которым должен удовлетворять код, то есть являются документацией к основному коду. Причём такой документацией, которая не может устареть просто в силу того, что если поведение кода начнёт расходиться с требуемым поведением, зафиксированным в тестах, то тесты упадут.
@vladyslavhrehul2185
@vladyslavhrehul2185 3 жыл бұрын
А твой "пользователь", который использует твой сервис: если поведение кода начнёт расходиться с требуемым поведением, зафиксированным в тестах, то тесты упадут. Даст тебе такой же результат 1 в 1, что поведение не совпадает. Только ты не тратишь времени на создание тестов в данный момент.
@chumakov_mikhail
@chumakov_mikhail 3 жыл бұрын
@@vladyslavhrehul2185 отличный подход, особенно если сбой в системе может привести к многомилионным потерям или человеческим смертям.
@chumakov_mikhail
@chumakov_mikhail 3 жыл бұрын
@@vladyslavhrehul2185 ну и плюс ваш контраргумент вообще никак не опровергает мой аргумент о том, что юнит-тесты являются инструментом документирования. Вы о том, как ваша система должна работать, спрашиваете у её пользователей? Наверное, нет.
@shark_de_mique
@shark_de_mique 3 жыл бұрын
@Михаил Чумаков Смысл юнит тестов понятен, он в том, что вы изложили, это да, логично, но должны ли они писаться наперёд, как гласит ТДД? И должны ли покрывать вообще весь код или только критические секции? Потому что на практике требуют количество тестов, а на их качество внимания практически не обращают
@vladyslavhrehul2185
@vladyslavhrehul2185 3 жыл бұрын
​@@chumakov_mikhail Насчет 1 - тесты не дают тебе 100% работоспособности системы, так как ты пишешь тесты, чтобы покрыть код, а не для того чтобы выявить уязвимость. Тк - ты не можешь предвидеть всего в силу человеческого мышления. 2 - По Вашим словам вы не сможете\ не умеете разобраться в системе, где нету тестов? Также документация - это документ не только для программиста, но и для обычного человека, тот же самый клиент. Вы клиенту тесты вместо документации показываете? Btw, последнее место, куда бы я смотрел чтобы понять как работает система - это тесты.
@pascal91_live
@pascal91_live 3 жыл бұрын
""Месяц работы обойдётся в 7000 американских гривень" - спасибо. Поплакал.
@ДанилГончаренко-б6ш
@ДанилГончаренко-б6ш 3 жыл бұрын
галера отожмёт половину, всё ок
@pascal91_live
@pascal91_live 3 жыл бұрын
@@ДанилГончаренко-б6ш "половину". Ха-ха-ха. Судя по историям (компании называть не буду) там далеко не половина.
@ДанилГончаренко-б6ш
@ДанилГончаренко-б6ш 3 жыл бұрын
@@pascal91_live ну это я приуменьшил, чтобы самому не заплакать
@zelenchuk.serhii
@zelenchuk.serhii 3 жыл бұрын
Это не канал, а психотерапия для всех перепуганных "гавнокодеров". Посмотрел и чувствуешь себя хорошо )) Обожаю!
@N5O1
@N5O1 3 жыл бұрын
за то время пока "правильный" кодер сконфигурирует окружение и напишет тесты, то так называемый "говнокодер" уже будет пушить проект на прод. если что-то работает - то оно работает и будет работать дальше, если что-то неработает, то оно и не будет работать и требует доработки. если код не написан по все правилам из умных книг это не значит, что это плохой код. этот код служет той цели для которой он был создан в данный момент.
@stappa7
@stappa7 3 жыл бұрын
%USER_NAME% И пока оно не работает у него на проде, ты теряешь пару тысяч баксов в какой-нибудь транзакции, и с разорванной жопой бежишь к полисменам восстанавливать справедливость. Или, если прод - это автопилот твоей будущей авто, просто лежишь мертвый.
@N5O1
@N5O1 3 жыл бұрын
@@stappa7 ты видимо либо плохо смотрел видео либо ты из тех упорртых, которые считают, что действительно нужно 100 покрытия. Зачем нужны тест? Для того, что видеть где у тебя неправильно написан код, если он у тебя неправильно написан, то он у тебя не будет работать в любом случае. А 100% покрытие кода тестами тебе не даёт никаких гарантий того, что в тебя все будет работать стабильно.
@N5O1
@N5O1 3 жыл бұрын
@@stappa7 ЗЫ. Большая часть тестов нужна для тог, чтобы проверить правильные ли тебе приходят данные и какие данные ты передаешь дальше. Для того,что бы этим не гемороится ты можешь использовать статическую типизацию и писать свои интерфейсы и типы, а не заморачиваться с тестами
@stappa7
@stappa7 3 жыл бұрын
%USER_NAME% Я из тех упоротых, которые в ответе на комментарий отвечают на комментарий, а не на видео. И да, ты не понимаешь, зачем нужны тесты, из-за этого и рассуждения такие. Когда начнешь понимать, тогда и полезность начнешь ценить.
@uneedeMain
@uneedeMain 3 жыл бұрын
Так так так видос однозначно запилин только для рекламы курсов по гемдеву 100% а мы на название повелись))
@lookibed7704
@lookibed7704 3 жыл бұрын
Все понял, юнит тесты не нужны( ͡° ͜ʖ ͡°)
@АнтонЛогинов-ю7й
@АнтонЛогинов-ю7й 3 жыл бұрын
Хорошо потроллил)
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Они нужны ты что не хочешь развести заказчика на лишний код? Открываешь тест, и пишешь ассерты true==true, false==false, 8 это int и так далее А если работаешь с с/с++, то пишем #define true false
@zombiekillers6207
@zombiekillers6207 3 жыл бұрын
@@Gameplayer55055 стоп а так можно чтоли было
@ExtremeCode
@ExtremeCode 3 жыл бұрын
@rarebrearer
@rarebrearer 3 жыл бұрын
аргументированное видео, как обычно лайк
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Как ты смеешь обижать мои любимые паттерны, мой PIDOR плачет в сторонке из-за тебя, как не стыдно?
@gagikpog
@gagikpog 3 жыл бұрын
ВАУ, бобастикер
@NoldoWalker
@NoldoWalker 3 жыл бұрын
Серия видосов про чистый код ярко иллюстрирует почему программистам стоит изучить философию в общем и диамат в частности. Но нет, мы лучше будем гореть с того, что формалистские методы в виде набора одних и тех же чекбоксов, которые надо выполнить, разбиваются о необходимость каждый раз сопоставлять логику конкретных кейсов и логику абстрактных архитектурных решений.
@Gorobievski
@Gorobievski 3 жыл бұрын
Не ну чисто теоретически забить гвоздь микроскопом можно, но ведь есть вещь по удобнее и попроще, а самое главное - дешевле
@Тати-х1й
@Тати-х1й 3 жыл бұрын
Чел проведи сначала интернет, а потом будешь нас учить, мы уже год смотрим на 17% загруженый npm
@I-PixALbI4-I
@I-PixALbI4-I 3 жыл бұрын
Бабки залутал, срач развёл, работу сделал.
@Svennko
@Svennko 3 жыл бұрын
Знаете! Я уже почти год учусь писать ГОВНО-код, не потому что это хорошо или плохо... А потому, что: "САНЯ, БЛЯТЬ, МЕРТВО-ЛИНИЯ ЗАВТРА! НУЖНО, ЧТОБЫ РАБОТАЛО! СВОИ "ТВЕРДЫЙ" ДОПИШЕШЬ ПОТОМ КОГДА-НИБУДЬ!" И вот так я засрал уже три к ряду проекта... Отсутствие должного опыта? Ну, ХЗ, пять лет в индустрии... Посмотрев "Экстремальную Соду", понимаю, что дядюшка Боб - просто бес на моем левом плече, который в противовес ангелу Чтобработаилу шепчет мне: "Псс, парень! Ну хоть тут немношк солида добавь! Никто и не узнает! Да успеешь хоть до сегодня до утра, но как же без мышления абстракциями, а не реализациями?"
@werewolfvit
@werewolfvit 3 жыл бұрын
Сначало ему ДОРОГО писать код с тестами, а потом НЕ ДОРОГО забивать гвозди микроскопами.
@ДаниилЧикиш-о4н
@ДаниилЧикиш-о4н 3 жыл бұрын
Суть то в том что микроскоп у тебя уже есть, а молотка нет.
@miheiheld4458
@miheiheld4458 3 жыл бұрын
@@ДаниилЧикиш-о4н суть в том, что когда забъешь гвозди микроскопом, то у тебя не будет микроскопа и такой себе молоток.
@nikitasuyazov2060
@nikitasuyazov2060 3 жыл бұрын
@@ДаниилЧикиш-о4н у меня нет микроскопа.
@SensoHakai
@SensoHakai 3 жыл бұрын
Когда у тебя овердохера задач на работе, не до чистого кода. Работает, и то хорошо
@Wi1dLife
@Wi1dLife 3 жыл бұрын
Главное потом заполировать видосиком про то что чистый код говно)
@anmaner4822
@anmaner4822 3 жыл бұрын
Удачи потом вносить новые фичи, в ваш зоопарк
@jabloko4823
@jabloko4823 3 жыл бұрын
@@anmaner4822 А в чем проблема?
@anmaner4822
@anmaner4822 3 жыл бұрын
@@jabloko4823 Действительно, в чем проблема, с каждой такой говно-фичей, ваша кодовая база будет становится все хуже и хуже, разобратся в уже написаном коде будет становится все сложнее, время, которое вы тратите на внедренее новых фич будет расти и в какой-то момент, вы будете тратить несколько недель на написания минимальных изменений, если тебя и твоего заказчика такой сценарий устаивает, то пожалуйста.
@mkh0202_
@mkh0202_ 3 жыл бұрын
@@anmaner4822 ну так-то рефакторинг провести не проблема, я считаю. И потом уже фичи клепать
@egorpetrov2877
@egorpetrov2877 3 жыл бұрын
Для демонстрации чистого кода откроем репозиторий линуха.. Закрыть видео х)
@ZaharAbramovich
@ZaharAbramovich 3 жыл бұрын
Так можно вызвать сотону.
@МаксимПазюк-э5в
@МаксимПазюк-э5в 3 жыл бұрын
Работал на одном продукте, в какой-то момент уж очень часто начали вылазить баги в стиле пнул по ноге, отпала жопа. В теории можно было бы получше изолировать модули друг от друга переписав часть кодовой базы, но уж больно накладно выходило по времени и трудозатратам. В этом случае интеграционные тесты + юнит тесты сработали на отлично. А про TDD, лично мне в начале карьеры этот подход помог разобраться с проектированием. Когда думаешь о том как ты хочешь реально использовать то что пишешь, а лишь потом пилишь имплементацию, это помогает писать гораздо более «чистый», понятный и приятный в пользовании код. Впрочем это и так приходит с опытом, просто TDD может ускорить этот процесс для новичков. В общем покрытие тестами для больших долгосрочных проектов скорее экономит силы и время всех участников процесса. Но как и всегда, это не догма, и может быть совсем не вашим случаем
@alexandre8350
@alexandre8350 3 жыл бұрын
Я согласен что мы должны договариваться среди комманды как писать код. То что внешний мир не понимает наш код - это не проблема, ты прав. Но скажем что средная продолжительность моего контракта в компании это 2 года. После меня сюда может прийти другой человек, который понятия не имеет как мы работали до этого. Ему скорее всего будет сложнее разобраться, если переменная называется "p" а не "configString". Я думаю что чистый код нужен для людей которые продолжат твою работу после тебя.
@Павел-ж8н1ь
@Павел-ж8н1ь Жыл бұрын
Некий единый стандарт, да.
@imyasuka
@imyasuka Жыл бұрын
Есть стандарт, но нет идеала, в этом вся идея
@UmbertoFellinni
@UmbertoFellinni Жыл бұрын
Понятный код нужен прежде всего для тебя самого, ибо когда ты сам вернешься к этому проекту спустя год-два-три, то ты ничерта сам не поймешь и будешь возмущаться "ну кто же накалякал сию херню?!". Да и вообще, в прозрачно написанном коде легче отыскивать баги, отлаживать его, и даже рефакторить. Например, повторное использование кода в другом проекте, при необходимости вносить некоторые коррективы в код. Но если он написан левой ногой курицы, то ты сам ничерта там не поймешь.
@АндрейАнлавович
@АндрейАнлавович 11 ай бұрын
@@UmbertoFellinni +, к тому же если код часто повторяется, проще ошибиться, мало того если нужно будет что то изменить, придется изменять в нескольких местах
@whatyoumean1498
@whatyoumean1498 7 ай бұрын
Да и даже буквально пару месяцев работы над параллельным проектом, ты станешь тем же новым Васей в своём старом проекте и на 10000% забудешь многое и тебе самому будет в разы быстрее вспомнить всё
@maxym2414
@maxym2414 3 жыл бұрын
когда он уже создаст свой лучший проджект?
@zy2bas
@zy2bas 3 жыл бұрын
Сначала сделать npm install
@laval69
@laval69 3 жыл бұрын
все всегда пишут чистый код и понимают друг друга, а ты единственный в мире нет Живи с этим :3
@dizzivoneverec2737
@dizzivoneverec2737 3 жыл бұрын
Когда берёшь в руки молоток, все проблемы становятся похожи на гвоздь ;)
@DimaZheludko
@DimaZheludko 3 жыл бұрын
С микроскопами та же фигня.
@mark99999ish
@mark99999ish 3 жыл бұрын
О кста! Про гвозди. Мне нужно было дюпеля в бетонную стену в крутить недавно и посадить на них доску. Но вот проблема, у меня не было дрели и дюпилей. Поэтому я проковырял в стене дырки, вставил туда саморезы, забил их гантелей(молотка тоже не было) и залил супер клеем - держится пиздец, не отодрать, ток вот теперь у меня есть дрель, дюпеля и даже молоток на всякий случай...но вот проблема, доску не отодрать. Как вам аналогия?)
@TishSerg
@TishSerg Жыл бұрын
Но без гантели Марк уже не мог...
@tornilua6520
@tornilua6520 3 жыл бұрын
В имбеде есть пословица: чистый код - это когда с каментами. Как можно говорить о чистоте, когда тебе сишечка напару с железом генг бенг устраивают?
@ghgtv4205
@ghgtv4205 2 жыл бұрын
ExtremeCode, ты забыл упомянуть, что перед тем как забить гвоздь микроскопом его нужно разобрать, чтобы не повредить хрупкие части, а то насмотрятся люди тебя и пойдут ломать дорогостоящее оборудование)
@takiekakmi7532
@takiekakmi7532 3 жыл бұрын
Как всегда - топчек👌 Пожалуй стоит начать обзывать экземпляры классов одинарными букавками в js))) ну, или просто кататься хлебалом по клаве при нейминге, ну а чё - Линукс же как-то написали🤷‍♂️
@anagr_
@anagr_ 3 жыл бұрын
Обфускатор помоему так и делает -____-
@rodigy
@rodigy 3 жыл бұрын
@@anagr_ стань обфускатором
@LLlblKAPHO
@LLlblKAPHO 2 жыл бұрын
Он потому и такое говно, что как то. Не хватает железной руки стандартизации. Кто-то сделал прогу, которая как то работает. О, давайте выложим её на репозиторий! А че пусть скачивают это недоделанное говно, оно же как то работает. Зачем заставлять человека доделывать программу до ума? Пусть все страдают, но не он. А нормальную программу сделаем когда нибудь потом (никогда)
@takiekakmi7532
@takiekakmi7532 2 жыл бұрын
@@LLlblKAPHO я тебе секрет открою - почти весь софт так написан - из говна и палок... Даже банковские системы (российские) работают через жопу
@sm_sl57
@sm_sl57 Жыл бұрын
@@LLlblKAPHO Так линукс - один из самых быстроразвивающихся проектов, с высоченным коэффициентом багфиксинга. То есть несмотря на то, что разработка линукс нарушает вообще все стандарты разработки(там челы друг другу код буквально по почте кидают), они при этом каким-то образом по "бизнес-метрикам" он еб*т любую коммерческую дрисню, в которой мы все работаем
@Nick-hq8of
@Nick-hq8of 3 жыл бұрын
Гвозди можно забивать ревьюэром
@olganova3058
@olganova3058 3 жыл бұрын
когда я смотрю ваши видосы, начинаю любить и принимать свою работу. Спасибо экстримкодерам
@LotmineRu
@LotmineRu 3 жыл бұрын
Не волнуйся, это пройдет
@olganova3058
@olganova3058 3 жыл бұрын
@@LotmineRu эх, знаю
@UmbertoFellinni
@UmbertoFellinni Жыл бұрын
да, спасибо быдлокодерам (говнокодерам) за их индусский код.
@kirillvoloshin2065
@kirillvoloshin2065 2 жыл бұрын
тесты - отличная документация для кода. тем более экономят время на проверку мердж реквеста, особенно если он от джуна. бывают и требования к 100% покрытию тестами, но это уже совсем другая история с поиском непокрытых строчек и истанбул игнорами тут и там.
@Vitea4691
@Vitea4691 3 жыл бұрын
Касательно микроскопа и гвоздя. Даже если микроскоп не задумывался в качестве молотка это не означает что его нельзя использовать для забивания гвоздя. Но нужно понимать в первую очередь время и место необходимости использования того или иного инструмента. Необходимость в обучении является одним из важных составляющих частей программирования. К примеру, завтра станет модно забивать гвозди, и как вы кому не доказывайти но вас будут не так охотно брать на новую работу если вы забываете гвозди микроскопом. А с другой стороны нужно понимать что если в вашем случае необходимо забить один определененый гвозд и не терять время то почему бы и не использовать микроскоп. Главное не выходить в крайности и понимать что опыт в новых инструментах вам всегда приготодится и также понимать что не нужно получать опыт ради опыта
@arhitutorials
@arhitutorials 3 жыл бұрын
Нет смысла писать хороший код. Все равно заказчик завтра передумает и пришлет таск переписать все по другому) Лучшее что можно сделать - держать код максимально простым, чтоб любой недоразраб, или ты сам в 2.00 ночи, мог понять что в нем происходит. Чем меньше в коде всяких абстракций и паттернов, тем лучше.
@ШивеГеоргий
@ШивеГеоргий 3 жыл бұрын
Чем быстрей ты освоишь слепую печать 10 пальцами - тем больше у тебя будут комментарии которые ты напишешь по ведению сердечка а не разума.
@arhitutorials
@arhitutorials 3 жыл бұрын
@@ШивеГеоргий Нет потребности печатать с такой скоростью. Когда пишешь код, бОльшая часть времени уходит не на печать, а чтоб придумать, что именно печатать.
@fumanchez
@fumanchez 3 жыл бұрын
Ну использование паттернов не делает код лучше, но паттерны же создавались чтобы решить ситуацию с ебанутыми заказчиками - чтобы у тебя были какие-то структурные единицы, которые отвечают за какой-то один аспект. Но как перестать делать кашу из -er классов? Хуй знает.
@robertobokarev439
@robertobokarev439 2 жыл бұрын
Плохой код - хорошо Чистфй код - говно Реакция новичка: Шо за нахер?
@vitiok78
@vitiok78 3 жыл бұрын
После этого видео я стал понимать, почему на фронтенде так много экскременто-кода: людям надо просто кнопочку поправить.
@АртурЛюбимов-й1о
@АртурЛюбимов-й1о 6 ай бұрын
Открыв книгу по середине ты не поймёшь кто это за персонажи и что за события тут происходят. Точно также открыв код проекта по середине, ты не поймёшь название переменных (считай что имена героев романа). И также не поймёшь многие функции (считай что события романа)
@MrShnaiderTV
@MrShnaiderTV 3 жыл бұрын
Окей, я первый раз забайчен на комментарий, потому что подавать такое на серьёзных щах - это перебор. 1) Код, который взят из репозитория Linux, нечитабельный, и не важно, кто его написал, хоть Линус, хоть дядя Вася из соседнего подъезда. EINVAL написана большими буквами, значит это глобальная переменная, остальные функции возвращают нули - в C это означает, что ошибок нет. Итог: код не читабельный, но не из-за возвращаемых значений, а из-за nameing'а переменных. 2) Паттерны нужны, чтобы не придумывать велосипед, и их всего 21. SOLID и остальные принципы помогают мне в четких формулировках держать в голове набор правил, следуя которым я буду уверен, что мой код расширяем и я слежу за осями изменений. А значит через месяц мне не придется перелопачивать половину программы, чтобы добавить один маленький класс, который красит кнопочку. 3) "Тест, полезен только когда он заваливается". При этом 10 секунд назад говорил, что TDD позволяет следить, чтобы ранее написанный код работал, то есть тесты завалятся в случае ошибки. Это такой бред, что мне кажется я на этот комментарий потратил больше времени, чем автор на написание всего сценария. 5:17 - 5:40 это просто бред сумасшедшего. 4) Смотрите, TDD приучает ставить задачу, выполнять только поставленную задачу, и коммитить только выполненную задачу (и не больше). При таком подходе у вас будет 100% покрытие тестами, и это нужно, чтобы заметить ошибку при добавлении будущих фич, если они затронули старый код и случайно сломали его. Написание тестов после разработки фичи не так эффективно (об этом рассказывается в одной из лекций Боба, они есть в открытом доступе). Если у вас на проекте не достаточно времени на написание тестов, то используйте хотя бы подход с постановкой-выполнением-коммитом без написание теста и готовьтесь через пару месяцев ловить баги, которые вызвали новые модули программы, затрагивающие старый код. А SOLID и остальные принципы помогут вам меньше косячить.
@YngvinLion
@YngvinLion 3 жыл бұрын
молодец
@lazydevelopment
@lazydevelopment 3 жыл бұрын
Садись, пятерку получил
@lazydevelopment
@lazydevelopment 3 жыл бұрын
Чел с плейлистом ЕГЭ по информатике обучает анскильных нубов как нужно программировать, ага, понятно
@MrShnaiderTV
@MrShnaiderTV 3 жыл бұрын
@@lazydevelopment Ой, извини, человек, переходящий на личности, что я готовлю 11 классы к ЕГЭ и собираю хорошие материалы в плейлист на ЛИЧНОМ канале ¯\_(ツ)_/¯
@lazy-soft
@lazy-soft 3 жыл бұрын
Про экспоненциальный рост стоимости исправления багов автор со своим примером слышал? Если слышал, то почему обойден вниманием данный момент?
@TopToro
@TopToro 3 жыл бұрын
@@АлексейВикторович-б5ж далеко прошли на таком подходе? Реально интересно.
@LotmineRu
@LotmineRu 3 жыл бұрын
@@TopToro самое смешное, что это работает)
@TopToro
@TopToro 3 жыл бұрын
@@LotmineRu вот мне интересно на сколько это работает. Сколько это в ЗП, хотя бы приблизительно? У меня на прошлом месте работы, были такие программисты, которые писали настоящие, отборные спагетти=) При этом били себя в грудь со словами: "я 20 лет программист!". Про себя я думал: "емае, ты 20 лет, программист". Понимаете, не тимлид какой-нибудь, а моего же грейда программист. Как по мне не похоже на историю успеха=)
@TopToro
@TopToro 3 жыл бұрын
@@АлексейВикторович-б5ж ну тоже резонно впринципи. Но все же в плане горизонтального роста, если сидеть и пописывать говнокод и не отсвечивать, чего реально удалось добиться?
@alenache1
@alenache1 3 жыл бұрын
краткое содержание последних роликов: тесты - говно, солид, драй, вообще все паттерны и парадигмы - говно, переходим на джс и натягиваем сову на прототипы
@kegy1998
@kegy1998 3 жыл бұрын
На js перейдем только когда npm пакеты доинсталятся
@ИльяИванов-ъ1л
@ИльяИванов-ъ1л 3 жыл бұрын
Дед, ты дал правильный ответ на неправильный вопрос. Суть бомбежки в стандартизации подходов и хейт говнокода в том, что он размазан по ободку унитаза, а не структурированно смыт в канализацию
@fumanchez
@fumanchez 3 жыл бұрын
Это ты чего-то не понял, бомбежка была в адрес программистов, у которых в голове видение свое Чистого кода™, которое почти никогда не совпадает с видением Чистого кода™ других. И когда эти лбы сначала гыгыкают над "говнокодом" как в видосе, в процессе культурной беседы они уже кидают говном друг в друга, потому что легендарный Чистый код™ сука довольно абстрактный и как такового его нет.
@ИльяИванов-ъ1л
@ИльяИванов-ъ1л 3 жыл бұрын
@@fumanchez И тебе повторю, что твой ответ правильный на неправильный вопрос. В отличии от ЧСВ подавляющей массы программистов, чистый код вовсе не абстрактное понятие. В технике есть понятие технологической карты с четкой градацией точности проработки процессов. Так вот как бы поверхностно я не расписывал бы работу, если не придерживаться правил оформления, то результатом останется лишь подтереться. Чистый код, это когда ты постишь на стаковерфлоу или еще где техкарту для кода любой сложности проработки, тебя поддерживает большинство, а меньшинство, что ее отрицает становится говнокодерами псевдогуманитариями. Потому что истина не в абстрактных понятиях, а в поддерживаемой сообществе структуре паттернов, действий и наследуемости решений.
@fumanchez
@fumanchez 3 жыл бұрын
​@@ИльяИванов-ъ1л я не очень понял за что ты топишь. Типа если оформлять типовые документы не по стандартнам - они будут бесполезны, т.к. они нужны для уже существующего документооборота. Ок, но вы создаете один и тот же продукт много раз, а в программировании как бы совсем другая задача - продукт выпускается готовый к изменениям и разный под каждый заказ. Один и тот же результат может быть получен миллионом способов, а на стэкофервлоу решают как правило чисто технические вопросы, и выбирают максимально лаконичное решение. И не факт что оно соответствует вашим внутренним гайдлайнам.
@ИльяИванов-ъ1л
@ИльяИванов-ъ1л 3 жыл бұрын
@@fumanchez нет-нет, это только одна сторона монеты, сама концепция получения какого-либо результата подразумевает наличие только одного самого лучшего решения, как и пути к нему. Миллионы способов -, это подлог для недостаточно компетентного спеца, чем больше опыта, тем уже выбор вариантов(отсюда и проблема отсутсвия свежего взгляда у старичков, но не суть). Собственно говоря это и есть причина по которой все бомбят. Что сами прогеры, что их работодатели. Первые в этом варятся, а вторые не могут нормально оценить трудозатраты и з.п. Будь в вашей отрасли четкое понятие чистоты кода для каждой из степеней проработки проектов, это бы оздоровило индустрию в целом. Я писал о техкарте, если кратко, то это последовательность операций с различной степенью проработки в зааисимости от требований к проекту. Она может быть по госту, написаной на коленке, устная. А все таки неизменной будет ее структура и информативность. Например самолет членят по агрегатам: крыло, фюзеляж, киль и т.д. Всему присваивается аббревиатура и номер (как и вашим переменным), ты никогда не перепутаешь последовательность сборки, сами детали и к какой группе их отнести(сразу стыдно за тех, кто ноет на ловину ошибок из-за изменений в многоуровневом коде не так ли?). Да и сами ошибки в том же самолетостроении весьма забавное явление, ведь все вдоль и поперек ограничено предельными характеристиками(а кто-то ноет за десяток лишних тестов). Конечно, если ты кодер, тебе не надо лепить тесты ко всему что видишь, но тебе достаточно слепить самодостаточный блок кода который нахер не развалится от одного чиха, а будет информативным и легко расширяемым за счет хотя бы правильного наименования функций и переменных, наследования параметров(меняйте сраное название одной и той же переменной, если используете ее в разных блоках, придумайте переменные костыли для определенных задач). Да это хоть что-то. Кто-нибудь сделайте пост на форуме и научите программистов писать. Меня рвет от смеха, ведь сейчас большинство из них похожи на австралопитеков, которые рисуют по камню. Я когда взялся этому учиться, то у меня тупо руки опустились. Сама суть простая, но вариться во всем этом даже за хорошие деньги я не смогу.
@fumanchez
@fumanchez 3 жыл бұрын
@@ИльяИванов-ъ1л есть функциональное программирование, где ты можешь пропустить объект через цепочку функций, которые (если они чистые) работают без вообще побочек. Но практика показывает, что на одних лишь чистых функциях ничего серьезного не напишешь, как минимум потому что есть еще и состояние, которое постоянно меняется и зависит от внешних факторов. Честно, претензии тупейшие - почему тогда разные компании делают разные самолеты? Почему они просто не могут взять и начать выпускать один самолет, как у всех?
@doctor_ambal6756
@doctor_ambal6756 3 жыл бұрын
6:37 ДАЙТЕ ССЫЛКУ НА ЭТОТ ФУТАЖ С ГОРЯЩЕЙ ЖОПОЙ!!!1111
@russkyirazrabotchik9581
@russkyirazrabotchik9581 2 жыл бұрын
Чистый код -это когда ты пишешь чистый код
@flyoffly5133
@flyoffly5133 3 жыл бұрын
Сейчас бы рекламировать XYZ...Которые ещё летом раскрылись как разводилы
@Torbjorn-ph7rt
@Torbjorn-ph7rt 3 жыл бұрын
Ради справедливости отмечу что прокатились не по всем курсам а только по конкретному и он кстати был про программирование (для игр)
@neitralov739
@neitralov739 3 жыл бұрын
А что там за история? Есть какое-то видео?
@paztwel
@paztwel 3 жыл бұрын
@@neitralov739 я так понял там была такая схема: Ты платишь мне 100$ за каждый курс; А если заплатишь 600$, то получишь все курсы со скидкой, но поэтапно. В итоге люди платили 600$, получили один курс. Затем второй курс им пришлось уже ждать некоторое время. Затем третий курс опять ждать. Люди ждали и ждали... Люди уже писать начали: ну где там ваш курс?! А им отвечали: ща ща он ещё не готов полностью. В итоге людям так и не предоставили все курсы полностью. В итоге им продали несуществующие курсы. Вроде так всё получилось, если я правильно всё понял
@flyoffly5133
@flyoffly5133 3 жыл бұрын
@@paztwelне звезди, если не знаешь. Они платили за один курс, и им по итогу дали только 2 лекции из 8, они ждали год и так остальные 6 лекции не получили
@Mr.Borowski
@Mr.Borowski 3 жыл бұрын
Чисто технически, гвозди можно и вставлять руками, но сомневаюсь, что найдутся любители такого рода удовольствия
@wolf_code
@wolf_code 2 жыл бұрын
Почему у тебя в кадре все время создается приложение react через npx?
@PavelPirogov
@PavelPirogov 3 жыл бұрын
Самое смешное случается, когда встречаются TDD и Agile. Требования и юскейсы появляются частями и за частую противоречат тому, что уже сделано. Тесты переписываются на каждый модуль по 10 раз и за спринт команда успевает сделать объём, который в нормальных условиях делается за 2 дня. А ещё большая наркомания происходит, когда хотят юнит тесты на фронте, и не смоук тесты, а с покрытием в 60 или ещё веселее 80 процентов.
@vladimirviktorovichivanov7577
@vladimirviktorovichivanov7577 3 жыл бұрын
существует ли хелловорлд, разработанный с использованием всех необходимых шаблонов проектирования, принципов и полностью покрытый тестами?
@alexandersavenko6659
@alexandersavenko6659 3 жыл бұрын
Усвоил (нет) для себя одно правило, если видишь что надо сделать нормально - делай нормально сразу, никаких ТУДУ, "потом отрефакторю" и "мне тут все понятно и так".
@Ged003
@Ged003 3 жыл бұрын
Классный троллинг всех и вся, хотя последние видео сводятся к одной фразе: серебряной пули не существует)
@unknownuser5514
@unknownuser5514 Жыл бұрын
Чистый код у каждого свой. Для меня чистый код это: 1. Модульность => возможность масштабирования. 2. Реализация того, что надо, так, как хочу я, а не так, как хочет дядя Вася или мировое сообщество. 3. Документация отдельно от кода, а не вместе. Терпеть не могу, когда документация расписана через комментарии в коде!
@aliaksandr5145
@aliaksandr5145 3 жыл бұрын
Сразу видно опытного разработчика. Бальзам на душу.
@evgenasd8892
@evgenasd8892 10 ай бұрын
Я нашел твое видео по запросу в ютубе, поэтому целенаправленно его просмотрев, хочу согласиться с наболевшим использованием tdd bdd and atdd, и еще в домешку паттерны и принципы, так вот понял что сроки разробтки улетают в космос, а поиск ошибки в коде доставил массу нервов. Так как задача была декомпозирована на кучк классов каждый со своими обязанностями, отдельно запросы отдельно команды, и дебаг превратился в мельтешение от метода к методу картина ваще
@pragmatik3353
@pragmatik3353 3 жыл бұрын
Extreme, когда будет сходка с фанатами? Мы тоже любители голандского штурвала в голубых плащах.
@exception05
@exception05 Жыл бұрын
Проблема в людях, но у нас есть молоток. Вот, что я понял из видео. Проблема только в том, что маньяк Пичушкин ещё сидит, а его рука хорошо помнит молоток.
@СергейК-б6н
@СергейК-б6н Жыл бұрын
Короче я как кандидат в маслята понял что автор хочет сказать что тесты не могут окончательно доказывать что программа сделана правильно
@YanchikDev
@YanchikDev 3 жыл бұрын
А node_modules уже скачался?
@imaynedlog9628
@imaynedlog9628 3 жыл бұрын
4:41 Объясните, пожалуйста, про Шевчука) Речь же про Александра из ITVDN?
@bloodlust4781
@bloodlust4781 3 жыл бұрын
кажись тут отсылка к старой рок групе ДДТ с вокалистом Шевчуком - хотя хз хз может я слишком стар и теперь модные новые Шевчуки :)
@protagorasfromabdera8653
@protagorasfromabdera8653 3 жыл бұрын
Нет, про Юрия Шевчука и его группу DDT.
@imaynedlog9628
@imaynedlog9628 3 жыл бұрын
Понял, у меня, судя по всему, Шарп головного мозга.
@tramfromgames3595
@tramfromgames3595 3 жыл бұрын
>Тесты полезны только если они падают Ну ты выдал конечно, тесты полезны при разработке любого нового функционала, потому что они позволяют экономить огромное количество времени не заморачиваясь с проверкой своего кода. Написал фичу и запустил тесты, тесты прошли значит всё готово, тесты упали значи есть проблема. Без тестов после изменения какого-то нибудь глубокого класса внутри твоего многомодульного проекта ты должен будешь пойти руками тестить все модули чтобы убедиться, что всё работает, и даже потестив и потратив кучу времени на это всё равно шанс того, что ты сломал что-то, что не проверил гораздо больше чем шанс того, что это не покрыто тестами. Можно конечно жидко сказать что для этого достаточно интеграционных тестов, но желаю удачи в проекте на 500к строк после изменения файлика в kernel модуле идти дебажить какую-нибудь гуишку, которая зависит на этот kernel модуль через ещё 3 репозитория, потому что в ней кнопка стала рисоваться по-другому
@Arcenijbs
@Arcenijbs 3 жыл бұрын
Как снять ролик такой же, как у ExtremeCode: 1) Заходим в комменты 2) Ищем те самые 3% людей, которые с тобой не согласны 3) Преподносим их как даунов 4) Говорим какой-то бред, обсирая всё подряд умным голосом 5) В ролик 8 минут вставляем полторы минуты рекламы 6) Делаем запись экрана консоли 7) Хапаем просмотры на том, что "переиграл" тех, кого нет
@Torbjorn-ph7rt
@Torbjorn-ph7rt 3 жыл бұрын
Потому что наличие kernel модуля нарушает SOLID. Или я не прав?
@tramfromgames3595
@tramfromgames3595 3 жыл бұрын
@@Torbjorn-ph7rt Во-первых причём тут solid если речь шла про полезность юнит тестов Во-вторых solid'y невозможно соответствовать или не соответствовать, это не инструкция и не набор чётких правил, это набор субъективных рекомендаций
@Torbjorn-ph7rt
@Torbjorn-ph7rt 3 жыл бұрын
@@tramfromgames3595 никто не сомневается в полезности юнит тестов, просто когда говорят что из-за изменения в одном модуле рушится всякая мелочёвка в другом модуле это означает что архитектура сильно связанная а наличие кернела настолько сильно влияющего на систему говорит о том что нарушен принцип открытости/закрытости, то есть теоретически вы НЕ должны модифицировать ядро если вам так необходимо его было сделать а только расширять с помощью дочерних модулей. То есть правильным решением в вашем случае сделать ядро вообще пустым и не модифицируемым. Но это разумеется теория, на практике всё это никогда до конца не соблюдается. А юнит тесты да не помешают даже при идеальной архитектуре. (ИМХО. Не настаиваю.)
@Неизвестныйкрокодил
@Неизвестныйкрокодил 3 жыл бұрын
Какой договор, если один старый мужик просто сказал:"ну вот смотрите, так надо делать, мы договорились"?
@anonsd5521
@anonsd5521 3 ай бұрын
В приоритете у программиста - оптимизация, а за ней идёт возможность развития, банально не закрывать себе возможность добавлять новые функции, а вот использовать функции вместо констант для "чистого" кода я считаю безумием.
@zolotoyklon2535
@zolotoyklon2535 Жыл бұрын
Рот шатал этих патернов. За 8+ лет много раз перечитывал. так и не понадобелись до сих пор. Уже забыл их, не буду перечитывать
@pavloryndin6361
@pavloryndin6361 3 жыл бұрын
Все эти классные паттерны и подходы являются формой общественного договора среди бескрайнего сообщества программистов.
@kirillsushilnikov9614
@kirillsushilnikov9614 3 жыл бұрын
1. аутосорс 2. обмазать монетизацией Добавил в свой масленковский словарик.
@Gimli_Dwarf
@Gimli_Dwarf 3 жыл бұрын
Основная проблема при забивании гвоздей микроскопом заключается в том, что при этом микроскоп необратимо меняет свою функцию на молоток
@Torbjorn-ph7rt
@Torbjorn-ph7rt 3 жыл бұрын
Но факт остаётся фактом - можно, утверждение верное.
@tirludjin1048
@tirludjin1048 Жыл бұрын
0:56 EINVAL - магическая ЦИФРА? Свой вариант чистого кода функции early_cma в студию. 5:23 "Если тест никогда не завален то это просто бесполезный кусок кода"... - Сначала пишутся тесты как проверка соответствия предъявляемым требованиям и они провалены. Потом код писать быстрее и безопаснее. ...Многовато программистам не умеющим писать тесты платить 7000 американских гривен. Явно "американских" лишнее.
@vladampleev3440
@vladampleev3440 3 жыл бұрын
Как-то я программирую и задаюсь вопросом - а почему я пишу код и внедряю фичи быстрее, чем мои знакомые чуваки. Оказывается, они пишут юнитесты, зависят от паттернов, планируют какие-то неебически сложные структуры кода, правят миллион багов, пишут прототипы, миллионы коммитов и веток в гите, и так далее и далее. В итоге у них всёравно гавно получается, только больше сил потрачено, честное слово...
@АнтонДудкевич
@АнтонДудкевич 3 жыл бұрын
Дада. Причем правят миллион багов они за такими скоростными мудаками без тестов и коментов )
@vladampleev3440
@vladampleev3440 3 жыл бұрын
@@АнтонДудкевич ну кто-то по итогу свои проекты заканчивает за 3 года, а кто-то за 5 не может закончить.
@danys4740
@danys4740 3 жыл бұрын
Я видел человека, который дабы "защитить" свой всем "нужный" код решил кодировать переменные в двоичную систему исчисления. И это он называл самым защищённым в мире кодом, и глубоко не понимал, почему сотрудники Microsoft не используют его методы (・o・)
@RomanShevtsov-pr6go
@RomanShevtsov-pr6go 3 жыл бұрын
Кодировал названия, что ли?)
@danys4740
@danys4740 3 жыл бұрын
@@RomanShevtsov-pr6go да)
@bookuha
@bookuha 11 ай бұрын
да потому что компилятору да рантайму посрать на твои названия, они могут запросто таблицы символов не получать
@Hustlers4u
@Hustlers4u 3 жыл бұрын
Вся эта обмазка нужна, чтобы договариваться было проще и от проекта к проекта ты не был в шоке.
@Korrmet
@Korrmet 3 жыл бұрын
Я не познал дзен ТДД, но хотя-бы с ним ознакомился. Самое первое, что нужно сделать по этой методологии - написать тест, который будет зафейлен из-за того, что ты не напейсал ещё толком никакого кода и тест должен отображать в принципе задание. В идеале тест пишешь не ты, а твой начальник или архитектор. И таким образом при помощи тдд от тебя получают банально то, чего хотят. Не спорю, что идеального кода нет, но солид, драй, паттерны - это не про чистый код. Во всяком случае не в моем понимании. Это про то, как команде не толкаться жопами на пятачке метр на метр и не допустить поведения из серии: я вчера ударил молотком по пальцу, но отвалился почему-то правый глаз, а нога сместилась на затылок.
@zezapan
@zezapan 8 ай бұрын
Если число пользователей API достаточно велико, то неважно, что вы обещаете в контракте : любое наблюдаемое поведение системы будет зависить от чьих-то действий -- Закон Хайрамаа
@ТимурМуратов-ж7ж
@ТимурМуратов-ж7ж 2 жыл бұрын
Братан хорош! Давай вперёд! Контент в кайф! Можно ещё? Вообще красавчик!
@lortta
@lortta 2 жыл бұрын
я не совсем согласен, что паттерны не нужны так же как и солид. Согласен, что это больше зависит от команды, где сильная команда, где слабая команда. Слабой команды может это и не чего и не нужно и проталкивать туда это тоже не нужно. Команда малу по малу развивается и сама до этого дойдет. Сильная команда будет это все использовать, потому, что они знают как. Но и перебарщивать не нужно, так как в долгой перспективе это только вредит, загоняем в узкие рамки. Но большинство ботовых задач они решают на ура. Паттерны это больше язык между програмистами. Что бы можно было понять друг друга, без труда, что он там написал и для чего. Упрощает жизнь.
@agilov
@agilov 2 жыл бұрын
то, что тесты не нужны это мягко говоря крайне спорное утверждение. просто тесты надо уметь писать как и любой другой код, а хороший тест полезен даже если он не падает хотя бы тем, что благодаря тестам особенно модульным улучшается дизайн компонентов и системы в целом. любой кто нормально работал по tdd это понимает просто как очевидную вещь
@grenadier4702
@grenadier4702 2 жыл бұрын
Зависит от определения (1:27). Человек дал свое "Чистый код - когда читаешь, как книгу", следовательно линукс наговнокодил. Хотя опять же: есть ли четкая дихотомия , что код строго делится на чистый и грязный? Если да, то явно наговнокодил
@evgeniybalabanov9679
@evgeniybalabanov9679 3 жыл бұрын
Если ошибка в коде может привести к денежным потерям компании, то покрытие тестами окупается, даже если разработчик тратит на это значительную часть времени.
@АлексейСытник-э9т
@АлексейСытник-э9т Жыл бұрын
Автор в очередной раз не понимает, что юнит тесты пишутся не для того чтобы падать, а для того, чтобы не падать. "99 процентов электрических предохранителей никогда не сгорают -- предохранители не нужны!"
@pinkierar_real
@pinkierar_real Жыл бұрын
Не сравнивай бинарную логику с реальным миром
@АлексейСытник-э9т
@АлексейСытник-э9т Жыл бұрын
@@pinkierar_real как будто в реальном мире мало примеров бинарной логики
@pinkierar_real
@pinkierar_real Жыл бұрын
@@АлексейСытник-э9т ну не в электрических же цепях
@АлексейСытник-э9т
@АлексейСытник-э9т Жыл бұрын
@@pinkierar_real электрические цепи это практически та область, откуда зародилась бинарной логики. Посмотри на языки LAD, которые на реле и диодах описывают поведение системы. Да о чём тут вообще говорить, первые компы были ламповые, а сейчас транзисторы в процессорах работают на бинарном принципе
@pinkierar_real
@pinkierar_real Жыл бұрын
@@АлексейСытник-э9т а в таких системах подразумевается наличие крыс и протечек с крыши?
@exel001
@exel001 3 жыл бұрын
в какой-то момент показалось, что это говорит не автор, а мой собственный внутренний голос
@cottoncat3700
@cottoncat3700 2 жыл бұрын
Есть же ещё его величество - маркетинг, и если клиент заплатил за 10 микроскопов, то ты с такими рацпредложениями про молотки будешь либо уволен, либо будешь юзать микроскопы, как миленький =)
@alexandersavenko6659
@alexandersavenko6659 3 жыл бұрын
Ого, я думал у меня г..код, а тут по сравнению с линуксом у меня ванильное мороженко
@ВладимирВоробьев-е6о
@ВладимирВоробьев-е6о 3 жыл бұрын
"А там (в репозитории) монолитные микросервисы" (с)
@kingcchultz3366
@kingcchultz3366 3 жыл бұрын
Если честно, то для человека который написал на C хотя бы свой баш, всё это выглядит действительно очень читаемо.
@KMiNT21
@KMiNT21 Жыл бұрын
Конечно. Все очень хорошо читается, хотя суть не улавливается. Но это и понятно в конексте исходников Linux. Видно все проверки начала строки, но что делает memparse - хз. Да еще и указатель 'p' она каждый раз изменяет хз куда. Так что, нужно ковыряться дальше внутри по этому спагетти, чтобы что-то понять по сути, а не по синтаксису. :)
@KnockNeo8701
@KnockNeo8701 2 жыл бұрын
Не злись на тех , кто забивает гвозди молотком. Будь пуст внутри. И тогда есть шанс , что они тоже опустеют и начнут забивать гвозди микроскопами. ЛаоДзю.
@MrPizdecccc
@MrPizdecccc 3 жыл бұрын
90% гвоздей забиваю не молотком))) Вы ещё не знаете чем я саморезы кручу)
@kasergus2446
@kasergus2446 2 жыл бұрын
Некоторые правила чистого когда нарушаются в методичках, которые утверждены стандартом (пример - Керниган, си). Там функция делает ретёрн больше одного раза. И что делать?
@princessmary5556
@princessmary5556 Жыл бұрын
Вы точно понимаете, что означает термин "стандарт" применительно к ЯП ?
@kasergus2446
@kasergus2446 Жыл бұрын
@@princessmary5556 Ну, ты меня, если честно, разуверил :3
@TopToro
@TopToro 3 жыл бұрын
Не так давно осознал, что проблемы самого кода это не самые большие проблемы в проекте, это всего лишь верхушка айсберга, причем только для программистов, так как они его чаще всего видят. Гораздо хуже, если в методике разработки идёт разлад. Автор как мне кажется тоже это понимает: если нет работающих договоренностей в команде, ни какие солидные приемы в программировании вам не помогут. В другую сторону это правда тоже работает, хотя и намного слабже. В моем java мире, я пишу код максимально гибким на сколько позволяет время, что бы если завтра мы поймём, что реализация функции или целого слоя сделана не так как нам хотелось, мы могли бы её попросту заменить на другую не сломав при этом всю остальную систему. Тесты нужны, что бы подстраховаться от ошибок при написании новой реализации + фичер флаги.
@alexblacktail3173
@alexblacktail3173 3 жыл бұрын
Братан хорош! Давай-давай! впереед! Контент в кайф! Можно еще? Вообще красавчик!
@fugi_1564
@fugi_1564 3 жыл бұрын
Extreme code: говорит про floppy bird Видео на фоне: 4к 120фпс террабайтные модельки
@ВитекНелогов
@ВитекНелогов 2 жыл бұрын
Как будто если ты откроешь книгу посреди сюжета ты дохрена поймёшь
@toliadutov3483
@toliadutov3483 3 жыл бұрын
Линус выучил русский в Питере на хокее
@ArG716
@ArG716 2 жыл бұрын
Чистый код бывает, но пишут его ювелиры из мира программирования
@Aristotle314
@Aristotle314 2 жыл бұрын
То есть адекватные люди
@alexandrshirokih
@alexandrshirokih 3 жыл бұрын
Продолжая аналогию с книгой: если открыть книгу и начать читать ее с середины, можно ли будет сходу понять о чём идёт речь?
@djfreegat7243
@djfreegat7243 3 жыл бұрын
какая книга? Художественная, техническая? Может там стихи вообще, тогда без проблем, хоть в конце открывай
@alexandrshirokih
@alexandrshirokih 3 жыл бұрын
@@djfreegat7243 Если мы сравниваем с программой, то вряд-ли это стихи. Все модули ведь имеют связи. Значит нужно понимать контекст.
@kirillf1360
@kirillf1360 3 жыл бұрын
Судя по всему автор живет в мире ненадежных, но быстрых в разработке мвп, а не серьёзного продакшена
@OmgFiny
@OmgFiny 3 жыл бұрын
Чат ботики его стек
@vitaliiivanov9514
@vitaliiivanov9514 3 жыл бұрын
Гвозди можно забивать кирпичами, а микроскопом дорого
@slonofanya
@slonofanya 3 жыл бұрын
Шедеврально пропето и тексты интересные, маэстро
@iGynLoD
@iGynLoD Жыл бұрын
Просто нужно стремиться у качественному коду. Код нужно по возможности улучшать. Но, как и во все, без фанатизма.
@russianpokemon2484
@russianpokemon2484 3 жыл бұрын
Курсы гиперказуалок.. Пацаны, Сакутин будет недоволен :)
THE MOST FREQUENT MISCONCEPTIONS ABOUT OOP
19:37
ExtremeCode
Рет қаралды 561 М.
Признаки слабого программиста
11:21
ExtremeCode
Рет қаралды 480 М.
I'VE MADE A CUTE FLYING LOLLIPOP FOR MY KID #SHORTS
0:48
A Plus School
Рет қаралды 20 МЛН
Andro, ELMAN, TONI, MONA - Зари (Official Music Video)
2:50
RAAVA MUSIC
Рет қаралды 2 МЛН
24 Часа в БОУЛИНГЕ !
27:03
A4
Рет қаралды 7 МЛН
Чистый код не существует
8:04
ExtremeCode
Рет қаралды 226 М.
Двойные стандарты АйТи
9:30
ExtremeCode
Рет қаралды 279 М.
СТРУКТУРЫ - ТВОЯ ГЛАВНАЯ ОШИБКА
8:40
ExtremeCode
Рет қаралды 206 М.
JavaScript - проповедь Чистого кода!
15:09
Как пройти в IT?
Рет қаралды 47 М.
Все Фронтендеры - СВЕРХЛЮДИ
8:15
ExtremeCode
Рет қаралды 284 М.
Есть только 3 ситуации для РЕКУРСИИ
10:03
Программирование для избранных
11:44
ExtremeCode
Рет қаралды 352 М.
Ты должен писать плохой код
10:41
ExtremeCode
Рет қаралды 461 М.
I'VE MADE A CUTE FLYING LOLLIPOP FOR MY KID #SHORTS
0:48
A Plus School
Рет қаралды 20 МЛН