Чистый код - не значит правильный | Clean code, паттерны, лучшие практики | Podlodka Podcast
Вставка
- Опубліковано 8 сер 2024
- Когда-то давно Роберт Мартин (он же “Дядя Боб”) популяризовал словосочетания “Чистый код” и “Чистая архитектура”. С тех пор не утихают споры, а что же именно он под всем этим подразумевает. Прошло несколько раундов обсуждений, и уже выросло поколение разработчиков, которые говорят, что рекомендациям Дяди Боба ни в коем случае нельзя следовать.
А значит пришла пора нам самим разобраться с тем, что такое Чистый Код! А помогает нам в этом Кирилл Мокевнин из Hexlet.
❓ Хочешь обсудить выпуск или задать вопрос эксперту? Вступай в наш Telegram-чат: t.me/podlodka
📰 Не любишь чаты, но хочешь оставаться в курсе дел и прокачивать свой IT кругозор? Подписывайся на наш Telegram-канал: там публикуются анонсы новых выпусков, а в комментах идут ценные и горячие обсуждения! 5 тысяч опытных IT-специалистов уже с нами: t.me/podlodkanews
Полезные ссылки:
- Телеграм-канал Кирилла:
t.me/orgprog
- Ютуб Кирилла:
/ @mokevnin
- Твиттер Кирилла
/ mokevnin
- AASM - DSL для конечных автоматов в Ruby
github.com/aasm/aasm
- Доклад Андрея Аксенова "Снесите это немедленно"
• Андрей Аксенов - Снес...
Тайм-коды:
00:00 О чём выпуск?
07:30 Влияние книги "Чистый код"
19:51 Что же такое чистый код
26:41 Соответствие стандартам и ожиданиям
33:35 Когнитивная нагрузка и чистота кода
37:25 Важность понятийного аппарата
42:30 Комментарии к коду и пуллреквестам
46:20 Именование переменных
50:02 Разделение функций
01:00:50 Управление побочными эффектами
01:07:05 Конечные автоматы и их использование
01:21:20 Паттерны и их применение
01:31:45 SOLID и его влияние на код
01:39:45 Влияние чистоты кода на производительность
01:47:24 Влияние языков программирования на чистоту кода
01:58:25 Оценка кода на чистоту
02:08:10 Подводим черту - Наука та технологія
Когда я вырасту, то хочу быть таким же крутым как Кирилл, только мне уже 35 :(
Мне 21 и тоже так думаю😅
надо было начинать учить SOLID в 11 лет
Когда вырастет борода.
Никогда не поздно
На определенном этапе осознаешь что чистота кода - плохая самоцель. Достаточно чистый код - вот это да. А понимать ту самую "достаточность" - вот где сила.
Как фсм проще, чем многие думают, так и принцип лисков проще, чем звучит. Оверрайды не должны ломать работу программы. Используется примерно всегда
чистый код бывает. я его видел. написан как учат в книжках.
код был единообразен при том что часть была отдана на аутсорс.
все решения были бест практис. код был прозрачный с хорошей читаемостью.
это целиком зависело от разраба который последним делал код ревью.
в команде должен быть тот кто гик и за ним последнее слово, тогда и код будет чистым.
а остальное все оправдания ...
Моё уважение этому господину. Слушая как он объясняет сложные вещи простыми словами - понимаешь что он все понимает
Мокевнин это всегда топ, спасибэйро!!!
Кирюха изобретает монады, пайплайны, тройки Хоара и спеки на функции :) Кирюха молодец! :)
Отличный получился выпуск, спасибо🙏
Я ни на одном проекте не видел документ Стандарты Разработки. В нем приводится глоссарий, как мы бустрапим новые проекты, как мы именуем proto, как бранчуемся, какие среды, как апрувим комиты. И все в том же духе. Документ без воды, страниц на 20-30. Много коммуникационных проблем будет решено!!!
Шикарный видос, спасибо большое, Кирилл - мощь, конечно
Чистый и никому не нужный - идеальное текущее описание меня =D
Кирилл как всегда крут!) Послушал с кайфом!
спасибо большое за выпуск, было интересно!
Хороший выпуск, классный гость
Использование статусов для управления состоянием объектов - отличный подход.
Но это у меня точно не связывается с конечным автоматом, который для меня какая-то абстрактная научная штука)
отличный подкаст.
один из вопросов на одном из собесов - "какой из паттернов реализует одну из букв SOLID - например O". ну и в целом главные требования - знание абсолютное с применением в коде и код ревью SOLID DRY KISS YAGNI и всех паттернов. я в целом понял, что что-то там не то...
А что не так? Не нужно знать и уметь использовать принципы SOLID? Нужно, при том что обычно мы их используем, не зная об этом
Код Мартина можно посмотреть на гитхабе, он об этом пишет в своих же книгах. Например, Fitnesse, написанный на Java
Не увидел в ссылках про доклад, о котором Кирилл говорил в конце. Так вот, доклад: «Снесите это немедленно» - Аксенов
Так. Прекрасные Катя и Женя, легендарный Кирилл, горячая тема, но лайк отгружен до просмотра, даже если в нём будет нещадно подбито моё личное объективно верное ощущение чистого кода!
юзал FSM в бизнес логике до того, как это стало мейнстримом :) я выходец из embedded programming и любую систему/процесс воспринимаю как бесконечный цикл с переключением состояний ) в совеременных реалиях это можно назвать domain events
В ФП Continuations и Continuation-Passing Style - обобщение автоматного программирования - существует где-то с середины прошлого века
Ссылка на тг канал Кирилла будет?
Организованное программирование
Добавили в описание к видео!
Чтобы разблокировать персонажа Кирилл Макевнин нужно дослушать до 25й минуты
Да назовите это состоянием и все, у меня код игровой на ecs подразумевает набор состояний, как для игрока в целом так и для элементов общего состояния, и никто такого не боиться, типа норм.
ощущение поле выпуска, что все писали и пишут неправильно, но только Кирилл знает как надо )))
Паттерны можно не учить, аббревиатуры неправильные, вообще все лучшие практики прошлых лет не то - Кирилл наш кандидат, приходите к нему, он научит 🙂🙂🙂
P.S. на телегу Кирилла подписался 🙂
а я отписался 😀
@@spacerecluseвозможно и так поступлю ) пока наблюдаю
Читаю книгу гроккаем алгоритмы, написана индусом, противоречит себе через каждые 2 страницы, думаю, это его фишка, не советую😂
ифы vs конечные автотматы - "было бы все немножко по-другому". И какие преимущества были бы у автоматов?
Забыл Эванса посоветовать, хотя в процессе ссылался)
(Не является инвестиционной рекомендацией)
Кирилл потихоньку делает из себя кумира)
Clean codeR - тоже книга Мартина
Блин, ребят, ну капец слабо, даже грустно как то... Вы позовите меня поговорить за чистый код и SOLID, и я объясню что и как
И по каким причинам люди это не понимают или не умеют пользоваться, ну правда грустно что не транслируется реальная суть вещей....
Мда, сейчас пилю фичу в грязном коде.
Да, весь код грязный, согласен.
Есть грязный как асфальт после ветра и дождя.
Есть грязный как выгребная яма.
Грязь грязи рознь.
Я преисполнился.
> Подкаст про чистый код
Позвали чела который не работал ни в одной серьёзной технической компании.
Хороший гость. Зовите ещё.
Кайф
+
Мутный гость какой-то
Это вначале. Затем его нормально видно :D
@@unitydude казалось что его лицо скрывают, как в репортажей про жертв преступников))
@@artishoo интересный эффект получился с рассветом :)
Вся наша жизнь .... игра, тьфу конечный автомат конечно же
Максимально спорный выпуск от «просветленных» программистов
Где код? Развели тут болтанку, понимаешь.
Вы просто не сталкивались с настоящим говнокодом
Очень странное впечатление. Правила из чистого кода вредные, солид устарел, паттерны не нужны, юнит тесты переоценены.
Яркие заявления, а потом примеры которые доказывают что все таки и правила «чистого кода» соблюдать надо, и примеры реализаций паттернов и где они применяются, и как большой класс удобно разбивать по солиду, и важная бизнес логика в юнит тестах. Вот так закопали.
А новички наслушаются лозунгов и разгребаем потом год обджекты в 3к строк с переменными в одну букву без тестов.
Я чаще вижу что вместо душнилова на старте/собесе про солид и клин-код лучше работает сложно формулируемый "коммон-сенс", "чувство прекрасного" и обучение в формате подмастерья. Т.е. приходит ждун в команду и его потихоньку за полгода подтягивают в самостоятельного разраба с помощью хардкорного ревью и синков, иногда вставляя базворды типа "паттерн Х", "читаемость", "поддерживаемость", etc для придания своей речи вида объективности
Хоть может показаться что это про передачу субъективного видения, но почему то переходя с одного места на другое вижу что все серьезные разрабы приходят к похожим подходам. Видимо хорошие идеи распространяются в индустрии крос-опылением)
"Чистый код" - не нужен. Но у гостя так сложно формулируются мысли вначале, что очень сложно понять о чем он хочет сказать. Возможно, "чистый код" хорошо помогает понимать чей-то код. Также как и "чистая и структурированная речь"
Чистый код - чисто инфоциганаская тема. Эта книга скорее мотивационная какая-то, нежели что-то применимое в реальной жизни.
Как можно серьезно воспринимать взрослого человека, когда у него на полке стоят книги про Гарри Поттера?
Исключительно позитивно!
Предлагаю вам развернуть мысль, воспользовавшись шаблоном:
Книги про Гарри Поттера на полке у взрослого человека, безотносительно того как и откуда они там взялись, это плохо, потому что… (продолжите мысль)
@@katellaEvgenii , до того как задавать этот вопрос, мне нужно было подумать кому я его задаю
мусорное видео