Какими должны быть Классы по Clean Code?

  Рет қаралды 21,051

Sergey Nemchinskiy

Sergey Nemchinskiy

Күн бұрын

Это заключительное видео серии. Поговорим о Классах и Системе по Clean Code.
Плейлист "Clean Code" (Как помыть кота) - • Чистый код (clean code...
Курс о котором говорит Сергей: GAME DEVELOPMENT - bit.ly/3AjZm6H
Курсы для новичков:
JAVA - bit.ly/3AiuVhy
JAVA Start - bit.ly/3qIUnrV
PYTHON - bit.ly/2UhSl5Q
C# START - bit.ly/3wjTAiB
C#/.NET - bit.ly/3xcfPIq
Инструментарий JAVA - bit.ly/3hmyzhK
Automation QA (Java) - bit.ly/3qCLMqG
ANDROID - bit.ly/3waXdqL
FRONT-END - bit.ly/3wePk3v
SALESFORCE Developer - bit.ly/3w9o2f7
UI/UX дизайн - bit.ly/3jx7Xx2
Обучение на проекте - bit.ly/3xcgh9A
Продвинутые курсы для состоявшихся девелоперов:
GRASP and GoF Design patterns - bit.ly/3h9cJz9
Enterprise patterns - bit.ly/364XAIP
Другие услуги:
Пробное собеседование - bit.ly/3yiFuPT
Карьерная консультация - bit.ly/3julTrL
Сайт FoxmindEd: bit.ly/3h9cvIj
FoxmindEd в ФБ: / foxmindedco
FoxmindEd в Instagram: / foxminded.ua
FoxmindEd в VK: foxminded
Мой Telegram: t.me/nemchinskiyOnBusiness
Для деловых запросов: youtube@foxminded.com.ua
Тайминг:
00:00 - вступление Сергея Немчинского
02:08 - размер классов
03:11 - оси изменений и изоляция от изменений
04:18 - Single Responsibility Principle
06:10 - правило бойскаута
06:47 - Open-Closed Principle
07:29 - работа с разными режимами систем
#ityoutubersru #немчинский #чистыйкод

Пікірлер: 88
@user-xo2fc4ep9p
@user-xo2fc4ep9p 2 жыл бұрын
DDD было бы очень очень интересно!
@aleksandrm3466
@aleksandrm3466 2 жыл бұрын
Спасибо за советы, пожалуйста побольше таких подходов и "bestpractice". Вообще можете сделать отдельную рубрику, уверен всем будет полезно)
@bentonitt
@bentonitt 2 жыл бұрын
У сергея столько родинок на шеи. Если учесть то что реклама была записана месяц - полгода назад, то вам бы стоило проверится. Или может быть сергей без бороды, сергей с бородой, сергей без усов это РАЗНЫЕ ЛЮДИ.
@bentonitt
@bentonitt 2 жыл бұрын
Во мне сидит журналист расследователь
@MrAbad202
@MrAbad202 2 жыл бұрын
@@bentonitt, точнее 3 Сергея: Сергей с бородой и усами, Сергей с бородой без усов и Сергей бритый
@bentonitt
@bentonitt 2 жыл бұрын
@@YulyaUlyanova Мыслите шире, может это просто новый клон Сергея?
@vitor_corve
@vitor_corve 2 жыл бұрын
Переименовал неудачное название... Вернулся старый автор переменной: А ЧЕ ВСМВСЛЕ
@user-be2cy2fb9u
@user-be2cy2fb9u 2 жыл бұрын
в гите нужно было отдельным коммитом сделать ;-)
@vlera4198
@vlera4198 2 жыл бұрын
При нормальном подходе он на ревью это увидит и это можно прямо на ревью обсудить
@Alex-gn6xb
@Alex-gn6xb 2 жыл бұрын
@@vlera4198 так он и впаяет NEEDS WRK
@supervichka7764
@supervichka7764 2 жыл бұрын
аххаах, Реклама от Немчинского - это нечто. Спасибо за крутое видео
@IB1irina
@IB1irina 2 жыл бұрын
Здравствуйте! Расскажите про организацию работы команды на проекте. В процессе обучения на групповом проекте была ситуация , когда один активный малый, работая над своей фичей, поменял походу кучу классов, потом разгребали конфликты при мёрдже. Неприятненько. Как это происходит «в жизни»?
@princessluna1069
@princessluna1069 2 жыл бұрын
Конфликты это не что-то плохое, это обычная часть рабочего процесса. Собственно если возник конфликт, значит ты и сам менял эти классы и вам обоим нужно обсудить конфликтные правки и придти к общему знаменателю, чтоб и его и твой код не поломался
@Dimonina
@Dimonina 2 жыл бұрын
голосую за аспектное
@shumilov1991
@shumilov1991 2 жыл бұрын
Не по колокольчику, а по зову сердца. Сергей, можете рассказать про SPRING? Какие из его проектов сейчас используются? Что из SPRING надо знать новичку?
@user-qc7hj3wy2i
@user-qc7hj3wy2i 2 жыл бұрын
На канале больше 5ти видео посвященных спрингу, посмотрите.
@shumilov1991
@shumilov1991 2 жыл бұрын
@@user-qc7hj3wy2i А слона то я и не заметил)
@alekseytsvetaev6261
@alekseytsvetaev6261 2 жыл бұрын
Про DDD было бы интересно, там много чего можно рассказать
@sorcha8916
@sorcha8916 2 жыл бұрын
Супер 💋🖤👍
@vitalijuskolinko9011
@vitalijuskolinko9011 2 жыл бұрын
Пустил слезу... Clean code - это как библия для программиста. Clean code 2 в студию! А пока возвращаюсь к первому ролику и смотрю по новой ;)
@shadowspirit6459
@shadowspirit6459 2 жыл бұрын
Точно что библия. Всем нужно читать, но хрен кто следует её уставам
@vitalijuskolinko9011
@vitalijuskolinko9011 2 жыл бұрын
@@shadowspirit6459 я следую
@shadowspirit6459
@shadowspirit6459 2 жыл бұрын
@@vitalijuskolinko9011 шутка в том, что это невозможно из-за противоречивости
@vitaliy.osadchyj
@vitaliy.osadchyj 2 жыл бұрын
четко
@Alex11Fox
@Alex11Fox 2 жыл бұрын
Всё, помыли кота!
@juliusmalkov9620
@juliusmalkov9620 2 жыл бұрын
Здравствуйте, я тут узнал про паттерн Строитель, fluent интерфейсы, ну и всегда в том же стиле использовал LINQ (я C# разработчик). Помнится Вы, что то говорили, что Дядюшка Боб говорил, мол так делать не хорошо. А вы как думаете и почему?
@Torbjorn-ph7rt
@Torbjorn-ph7rt 2 жыл бұрын
Пришёл бойскаут и вместе с задачей которую решал две недели и ни разу за это время не коммитил, закоммитил вместе с результатами задачи уборку поляны на 10хрегалионов пробельчиков -табуляций переносов фигурной скобки в контру общему стилю и сотню тупейших некорректных переименований. Плюс несколько стометровых логов. И всё это в общий репозитарий. Хорошо что ветка мастер была защищена и деплой насрал бы прямо туда. Наша вина? Спасибо кэп, пилюля усвоена, теперь на автомате проверяем перед каждым коммитом в общую репу и если начинает прибирать поляну по своему идёт другим лесом.
@ME-fv1ug
@ME-fv1ug 2 жыл бұрын
Бесструктурный код вредит читаемости. Структурированное программирование являет собой инкапсуляцию компонентов данных. Тематику по C++ и дальше развивайте очень интересно … Предлагаю следующую тему разобрать, как работать с вычислительной сетью, при использовании протоколов TCP/IP...
@VaGroz
@VaGroz 2 жыл бұрын
Сергей, спасибо за интересные видео. Но давайте всё-таки начнем считать scala девелоперов за людей. *За белых людей
@vitalykhan1354
@vitalykhan1354 2 жыл бұрын
у нас тут дискуссия с коллегой как раз в тему. есть один большой ДТО, который включает в себя несколько других объектов. причем эти другие объекты не ожидаются к переиспользованию где-то еще. вопрос, стоит ли эти внутренние объекты выносить в отдельные классы или можно их сделать внутренними классами (существенно увеличивается объем единственного ДТО-класса). т.е. это скорее вопрос про рациональность использования внутренних классов с т.зр. clean code.
@maxlich9139
@maxlich9139 2 жыл бұрын
10 строк на метод? А если это ДАО и фильтрация (как сейчас у меня на проекте)? или "разделяй и властвуй"?) Отсюда еще есть такой вопрос: стоит ли выделять в отдельный метод код, который не повторяется и в других методах не используется? Кажется, это тоже уже какой-то антипаттерн
@maxlich9139
@maxlich9139 2 жыл бұрын
Про аспекты бы можно было послушать
@dd_84
@dd_84 2 жыл бұрын
Здравствуйте, а есть ли смысл начать изучать программирование человеку с высокой миопией -25?
@dd_84
@dd_84 2 жыл бұрын
@@no-name-power а офтальмологи знают программирование по дефолту? Я спрашиваю программистов, как профессия влияет на зрение и стоит ли лезть туда человеку с высокой миопии. А консультации офтальмологов я прослушиваю каждые полгода с десяти лет.
@max_mgtow
@max_mgtow 2 жыл бұрын
"Последнее видео" - звучит печально
@art0mlb
@art0mlb 2 жыл бұрын
У меня в sublime text перестал нормально работать "AutoFileName", не показывает файлы (jpeg-png), вместо этого показывает только "Папки" и диски (с/e/d/) и часто употребляемые "теги" и слова. Не знаю почему но работало норм. В инете не могу найти ответа. Может кто поможет?
@user-wj4cj7bj5f
@user-wj4cj7bj5f 2 жыл бұрын
Та же проблема, вчера началось, а поиски решения результатов не дают
@max_mgtow
@max_mgtow 2 жыл бұрын
Скорее всего баг разрабов
@TakemuraGoro
@TakemuraGoro 2 жыл бұрын
Тупой вопрос. Есть сущность, например "заказ". У нее по мере развития проекта становится все больше и больше полей в БД. Соответственно растет количество методов. Что делать? Делить таблицу в базе? Делать методы отдельными классами\трейтами, а саму сущность передавать внутрь? Опять таки, открываешь исходники laravel\yii - и там десятки методов в классе, они не правы?
@user-dp9uv9rs8x
@user-dp9uv9rs8x 2 жыл бұрын
DDD - було б дуже цікаво послухати
@alexanderchumachev3520
@alexanderchumachev3520 2 жыл бұрын
Можно ГРАСП следующим?
@vitalyromas6752
@vitalyromas6752 2 жыл бұрын
kzbin.info/www/bejne/pqTacmaGp8uSj7M kzbin.info/www/bejne/bqi1gmxofcxlmLs kzbin.info/www/bejne/oKiWl2uFp8-MipI kzbin.info/www/bejne/oKiWl2uFp8-MipI kzbin.info/www/bejne/i2awm4uIpZiNY7s kzbin.info/www/bejne/i6m7pHaJa8uVgJI
@user-qc9lg6ie6r
@user-qc9lg6ie6r 2 жыл бұрын
DDD!!!
@some_account_
@some_account_ 2 жыл бұрын
2:17 Боб Мартин - это такой Роберт Мартин с Ямайки?))
@maxlich9139
@maxlich9139 2 жыл бұрын
???
@user-pw9sh7tq7t
@user-pw9sh7tq7t 2 жыл бұрын
"Увидели неудачное название - переименовали" - получили багу в проде, т.к. оно завязано на кривое имя колонки в БД, а так-же поля в REST API других микросервисов, а еще на отчеты.
@maxlich9139
@maxlich9139 2 жыл бұрын
наверно имелись в виду именя классов, методов, переменных...
@user-pw9sh7tq7t
@user-pw9sh7tq7t 2 жыл бұрын
@@maxlich9139 имена классов методов и переменных достаются через рефлексию и отправляются в БД или в json и так далее
@maxlich9139
@maxlich9139 2 жыл бұрын
@@user-pw9sh7tq7t аннотации?)
@CapitanNishtyak1
@CapitanNishtyak1 2 жыл бұрын
Не только лишь все классы могут в 100 строчек.... ахахха
@mukhammadrustambayev2051
@mukhammadrustambayev2051 2 жыл бұрын
DDD.
@nicolas267s
@nicolas267s 2 жыл бұрын
Да ну глупости, какие там чуть больше 100 строк на класс. Одно поле и его геттеры/сеттеры это уже минимум 7-10 строк, 10 полей это уже 70-100 строк, плюс их импорты, а ещё JavaDoc'и, а ещё возможно аннотации, и это даже без методов, а в методы ещё и логеры распихать надо.
@user-dq3cz3yc8b
@user-dq3cz3yc8b 2 жыл бұрын
По clean code, насколько помню, рекомендуется инкапсулировать не более трёх сущностей. Так что полей выходит поменьше)
@nicolas267s
@nicolas267s 2 жыл бұрын
@@user-dq3cz3yc8b в теории может и красиво, но не реалистично.
@eligolin9947
@eligolin9947 Жыл бұрын
А как насчёт класса String? В этом классе вообще нету ограничений по количеству логичных методов (туда можно добавлять их буквально без конца), от этого он не становится менее корректным или менее чистым. посмотрите на расширение класса string в языке скала, и вы увидите что очень много методов можно было бы ещё добавить в этот класс в джаве.
@alikgadzhimuradov7794
@alikgadzhimuradov7794 2 жыл бұрын
Как вам сказать. Я залез в программирование будучи тотально слепым. Но я пользуюсь программами чтения экрана. Если вас этот вариант устраивает, почему нет?
@chakchaky8521
@chakchaky8521 2 жыл бұрын
Слушая эти ролики с плагинами и осями изменений я понимаю что это вовсе не про разработку, а про надувание щек... Пошел ваять свой Легаси с толстыми моделями и ужасными контроллерами...
@arturvoznyuk
@arturvoznyuk 2 жыл бұрын
Соррян, что раньше не был подписан. Осталось только ник/переменную (значение) по нормальному назвать.
Чистый код (clean code) или Как помыть кота
2:01:12
Sergey Nemchinskiy
Рет қаралды 154 М.
Make me the happiest man on earth... 🎁🥹
00:34
A4
Рет қаралды 4,4 МЛН
Китайка и Пчелка 4 серия😂😆
00:19
KITAYKA
Рет қаралды 1,5 МЛН
100❤️ #shorts #construction #mizumayuuki
00:18
MY💝No War🤝
Рет қаралды 20 МЛН
Omega Boy Past 3 #funny #viral #comedy
00:22
CRAZY GREAPA
Рет қаралды 35 МЛН
Почему все ненавидят PHP
12:48
Алёша Погромист
Рет қаралды 3,4 М.
Правильные методы по Clean Code
28:29
Sergey Nemchinskiy
Рет қаралды 77 М.
Make me the happiest man on earth... 🎁🥹
00:34
A4
Рет қаралды 4,4 МЛН