когда накал страстей перейдет на новый уровень, надо будет сделать батл по leetcode. Кто-то из них окажется Оксимироном а кто-то останется Джонни Боем. Вместо Ресторатора будет Lex АйтиБорода или предлагайте ваши варианты!
Лол, я писал в телеге админам что если вы продолжите банить хейтеров и чистить комментарии, то по сути подпишитесь под сказанным Владом. В итоге решили почистить вообще всё и закрыли комменты. Geniuses
Пожалуй лучше программирования Владик может похвастаться искусством повествования успеха, мировых целей, правильной жизни и прочего, без чего его удивительный курс не будет продаваться
Не думаю что автор видео действительно опытный разработчик, тут по сути под чистую пересказ книжонки (кстати не самой лучшей) а в процессе работы появляется куча своих по настоящему помогающих способов организации кода, оставляйте плюс под моим комментом и я сам запишу ролик где поделюсь своим опытом и расскажу как стоит мыслить при написании кода, как определить рамки которые не будут позволять вам писать лапшу и как в целом проектировать фичи таким образом что-бы после реализации не рефакторить их от нескольких часов до суток, а не 20+ минут рассказывать про простейшие конвенции которые даже ПМ знают =))
Я уже было обрадовался, думал "кайф, неужели код от Влада посмотрим, да еще и по клин коду. Даже интересно, что еще про него рассказать можно. Но раз Влад видос запилил - должно быть годно же..". Я и вкуснях набрал под просмотр и на выходные видосик отложил... А тут "не бросайте коды ошибок - рейзите ексепшены...", "давайте исключениям понятные и корректные имена..", "форматируйте код, смотрите тут 3 кнопки есть". Что это вообще, ахахахах? Я рили думал он рофлит. Реквестирую видос по установке IntelliJ IDEA на компудахтер.
Это не так) Ведь он сказал про видео и книгу на 0:53 , что он "собрал выжимку из самых главных принципов описанных в этой книжке", а не то, что он всю книгу сюда засунул.
А теперь серьёзный вопрос: зачем новичку смотреть этот ролик, если Кэти Сиерра и Бёрт Бейтс ещё в 2003 году рассказали про это в "Head First Java" более детально, подробно, и понятно? Я уже не говорю про "Clean Code" Роберта Мартина. Автор ролика пересказывает материал одной из этих книжек, но даёт этот материал в слишком сжатом и скомканном формате. Без негатива, это просто факты.
Кол-во строк в методе не больше 7?! Это только для игрушечной предметной области на бэкенде возможно. Если в объекте куча полей, и для какого-то атомарного действия с этим объектом нужно разные ветки логики реализовать в зависимости от разных комбинаций этих полей, то запросто сотни строк кода выходят. Да одна простая фильтрация с сортировкой стрима может быть легко на 10 или 20 строк. Метод должен быть максимально коротким и ясным, но длина определяется не одним желанием, но и сложностью логики. Технически можно конечно нашинковать код на мелкие кусочики, но если эти кусочки не имеют прикладного смысла, и могут только в комлекте вызываться, то это не упрощение а усложнение под видом упрощения.
А как так случилось ,что из простого парнише с большими целями. Ты стал инфоцыганом 😢😢 Чувак вроде неплохо начал и говорил что якобы на канале нет рекламы 😅
Есть ещё варианты UpperCamelCase и lowerCamelCase. Учитывая, что это всё фольклорные названия, и на них нет задокументированных стандартов, нельзя говорить, что одно название правильное, а другое нет.
@@ylcsl4378 да, есть локальные договорённости, но нет документов уровня RFC или подобного. То есть, пока мы общаемся в рамках узкой области, скажем, обсуждаем библиотеку сериализации, то да, можно говорить, что какой-то набор терминов правильный, какой-то нет. А в общем случае будет честнее говорить лишь о синонимах.
А что делать, если мне нужно передать в метод 5 параметров, из которых только 2 связанны между собой? С EmailParams пример легкий, потому что все те параметры связаны между собой
Пожалуйста, будьте осторожны с исключениями. По сути своей они являются облагороженной версией goto - игнорируют return, а в худшем случае весь “освобождающий ресурсы” код, их не видно в сигнатурах функции и невозможно понять в каком месте они будут обработаны, так как они могут пробивать уровни вызова насквозь. В видео показано показано два типа событий, где можно выкидывать исключения: исключения для валидации и null в штатной ситуации. С моей точки зрения исключения для третьего типа - непредвиденных ситуаций, которые не позволяют продолжить работу. Это может быть недоступность сервиса без которого невозможно продолжить работу, непредвиденное исключение из используемой библиотеки итд. К сожалению ни в java, ни в c# на котором я пишу, из коробки нет нормальной альтернативы исключениям для того чтобы вернуть валидационную ошибку из метода. Можно пользоваться библиотеками типа fluent-result (для java есть видимо порт с c#), но в рабочих условиях это редко возможно. Практический совет здесь - старайтесь выкидывать исключения реже, но если все-таки приходится, то описывайте их в документации к методу. Быстрый поиск говорит, что для JavaDoc это @throws тэг. Без этого советы видео бесполезны -- пользователи вашего метода будут настолько же удивлены исключениям, как и NullReferenceException о котором предупреждает автор. Их будет легче отловить чем nre, но более приятным падение прода это не делает. Особенно актуально если ваш код распространяется как библиотека и у пользователей нет доступа к исходникам. Прошу прощения за длинный текст, но все тут после видео Влада Тена, а вы с честно учитесь. Удачи!
все хорошо и по делу, но что должно произойти с мужиком что бы он себе гульку на макушке заплел как у тетки Вальки которая ретузы на веревках во дворе вешает сушить?
Буду ждать ревью от Влада Тена
ну, тут ни придирешься уже, общеизвестные конвенции
Все фишки взял с ChatGPT
когда накал страстей перейдет на новый уровень, надо будет сделать батл по leetcode. Кто-то из них окажется Оксимироном а кто-то останется Джонни Боем. Вместо Ресторатора будет Lex АйтиБорода или предлагайте ваши варианты!
@@naviodinson Ильин
@@meritocratik если брать непредвзятого, то S0ER
Купил курс за 300к, взял в аренду пару кладовок. Буду там сейчас печатать сертификаты на массаж, думаю дело пойдет
Лол, я писал в телеге админам что если вы продолжите банить хейтеров и чистить комментарии, то по сути подпишитесь под сказанным Владом. В итоге решили почистить вообще всё и закрыли комменты. Geniuses
так мошеники всегда так дделают, жалко что найдутсяя те кто у него купит обучение((((
привет а в чем хейт, он обманщик?
@@ViktorAr2023 привет он обманщик?
За_клинкод_пояснятор новая ачивка -нужно срочно добавить в презентацию цыганского курса
Надо сделать курс, как уничтожить свою репутацию за 21 день :) цену вы знаете
имя класса с большой буквы! вау! вот это фаанг уровень! возьми мои 300к срочно!
Пожалуй лучше программирования Владик может похвастаться искусством повествования успеха, мировых целей, правильной жизни и прочего, без чего его удивительный курс не будет продаваться
Видос платный? куда 300 тыщ переводить?
Не думаю что автор видео действительно опытный разработчик, тут по сути под чистую пересказ книжонки (кстати не самой лучшей) а в процессе работы появляется куча своих по настоящему помогающих способов организации кода, оставляйте плюс под моим комментом и я сам запишу ролик где поделюсь своим опытом и расскажу как стоит мыслить при написании кода, как определить рамки которые не будут позволять вам писать лапшу и как в целом проектировать фичи таким образом что-бы после реализации не рефакторить их от нескольких часов до суток, а не 20+ минут рассказывать про простейшие конвенции которые даже ПМ знают =))
+
+
+
Автор данного ролика попал в первый выпуск Влада Тена о инфоцыганах, так что вы верно подметили по поводу уровня данного "учителя"
+
В самом начале видео 1:30 неправильно назвал стиль написания кода
camelCase
PascalCase
Классы - всегда PascalCase
Новая Блиновская в деле
Кто от Влада Тена?!
Влад - отлично! Ты очень сильный специалист!
А че в телеге комменты закрыты?
Посмотрите прожарку курсов Мишустина от Влад Тен )))
Я уже было обрадовался, думал "кайф, неужели код от Влада посмотрим, да еще и по клин коду. Даже интересно, что еще про него рассказать можно. Но раз Влад видос запилил - должно быть годно же..". Я и вкуснях набрал под просмотр и на выходные видосик отложил... А тут "не бросайте коды ошибок - рейзите ексепшены...", "давайте исключениям понятные и корректные имена..", "форматируйте код, смотрите тут 3 кнопки есть". Что это вообще, ахахахах? Я рили думал он рофлит.
Реквестирую видос по установке IntelliJ IDEA на компудахтер.
да он пересказал книжку и то не правильно))))
Балдежная музыка) Я как будто в "Как достать соседа" играю
"Чистый код" - Роберт Мартин. Весь видос - краткое содержание книги. XD.
Это база
так он же сказал что видео основан на этой книге)
Это не так) Ведь он сказал про видео и книгу на 0:53 , что он "собрал выжимку из самых главных принципов описанных в этой книжке", а не то, что он всю книгу сюда засунул.
А теперь серьёзный вопрос: зачем новичку смотреть этот ролик, если Кэти Сиерра и Бёрт Бейтс ещё в 2003 году рассказали про это в "Head First Java" более детально, подробно, и понятно? Я уже не говорю про "Clean Code" Роберта Мартина.
Автор ролика пересказывает материал одной из этих книжек, но даёт этот материал в слишком сжатом и скомканном формате. Без негатива, это просто факты.
Потому что они книги не читают, а вместо этого смотрят видосы. Пусть хоть так просвещаются.
Потому, что он инфоциган -- берёт уже готовые вещи и пересказывает их так, будто бы это его мысли.
@@ArthurMudrick +++ а это заметно по его манере пересказа и как он показывает
Найс инфопродукт бро 🤝
Влад, привет, а ты в канале в телеграмме отключил комменты ? А то интересно почитать разные мнения, а комментов нет(
Когда будет битва 2 Владов ?
Большое спасибо! Всегда приятно и полезно посмотреть! :)
Нормально так тебя прожарили, четко
Класс, теперь захотелось что-нибудь написать, спасибо
Как я понял весь этот канал был создан для продажи курсов …
Спасибо_теперь_буду_писать_только_чистый_КОД
Какой то гачи в лоускильном программировании на Java.
P.S. 7:38 как ты мог привезти такой баг на прод, дуд?) петпроект для бабушки делал?
Кол-во строк в методе не больше 7?! Это только для игрушечной предметной области на бэкенде возможно. Если в объекте куча полей, и для какого-то атомарного действия с этим объектом нужно разные ветки логики реализовать в зависимости от разных комбинаций этих полей, то запросто сотни строк кода выходят. Да одна простая фильтрация с сортировкой стрима может быть легко на 10 или 20 строк. Метод должен быть максимально коротким и ясным, но длина определяется не одним желанием, но и сложностью логики. Технически можно конечно нашинковать код на мелкие кусочики, но если эти кусочки не имеют прикладного смысла, и могут только в комлекте вызываться, то это не упрощение а усложнение под видом упрощения.
А как так случилось ,что из простого парнише с большими целями. Ты стал инфоцыганом 😢😢 Чувак вроде неплохо начал и говорил что якобы на канале нет рекламы 😅
ведать в долгах
@@goliafffff так там процент от зп, а не какая-то огромная сумма сразу, наличкой и купюрами по 10 баксов
@@goliafffff он ж вроде собрался на луну 🤣 .С его слов , космос он уже покорил 😁
В 2005 Java пиарилась тем, что может в локализованные названия классов и методов. Типа, пишешь названия класса прям иероглифами.
В этом уроке владик расскажет как делать чистый код чисто на конвенциях
23:27 на си никогда не писал?)
Возвращает код. А на входе параметр в который записывает результат.
Привет, величайший🦾❤️
А вот и неа, это не camelCase, это PascalCase
Есть ещё варианты UpperCamelCase и lowerCamelCase.
Учитывая, что это всё фольклорные названия, и на них нет задокументированных стандартов, нельзя говорить, что одно название правильное, а другое нет.
@@vryaboshapko есть конвеншны нейминга которые никто не отменял
@@ylcsl4378 да, есть локальные договорённости, но нет документов уровня RFC или подобного. То есть, пока мы общаемся в рамках узкой области, скажем, обсуждаем библиотеку сериализации, то да, можно говорить, что какой-то набор терминов правильный, какой-то нет. А в общем случае будет честнее говорить лишь о синонимах.
Если нельзя возвращать null, зачем в Java ссылкам присваивать null вообще? 😅
следующая локация будет в туалете, т.к. локации для съемок похоже закончились
в Москве много мест можно аренду на день взять. Дофига. Так что он может успешно себя выдавать за миллионера)
А что делать, если мне нужно передать в метод 5 параметров, из которых только 2 связанны между собой? С EmailParams пример легкий, потому что все те параметры связаны между собой
Создать record MyMethodArgs и пометить lombok.Builder
Ну или писать на котлине где есть именованные параметры
@@АнтонФамолия это всё здорово, но я пишу на C#))
@@yourownazog8069 Named arguments в шарпах есть
@@АнтонФамолия да, есть. Но при чем тут они? Я хочу вместо 5+ параметров передать 1 или 2 объекта, а не делать список параметров более verbose
@@ivan-ivanov-ivanovich а сам-то ты чего не в окопе? меньше 18 еще?
Когда можно будет поступить в фаанг школу😅
Как раз недавно задумался о том, когда возвращать Null, а когда бросать исключения. И тут твой ролик! Отличный материал, буду пересматривать
Пожалуйста, будьте осторожны с исключениями. По сути своей они являются облагороженной версией goto - игнорируют return, а в худшем случае весь “освобождающий ресурсы” код, их не видно в сигнатурах функции и невозможно понять в каком месте они будут обработаны, так как они могут пробивать уровни вызова насквозь.
В видео показано показано два типа событий, где можно выкидывать исключения: исключения для валидации и null в штатной ситуации. С моей точки зрения исключения для третьего типа - непредвиденных ситуаций, которые не позволяют продолжить работу. Это может быть недоступность сервиса без которого невозможно продолжить работу, непредвиденное исключение из используемой библиотеки итд.
К сожалению ни в java, ни в c# на котором я пишу, из коробки нет нормальной альтернативы исключениям для того чтобы вернуть валидационную ошибку из метода. Можно пользоваться библиотеками типа fluent-result (для java есть видимо порт с c#), но в рабочих условиях это редко возможно.
Практический совет здесь - старайтесь выкидывать исключения реже, но если все-таки приходится, то описывайте их в документации к методу. Быстрый поиск говорит, что для JavaDoc это @throws тэг.
Без этого советы видео бесполезны -- пользователи вашего метода будут настолько же удивлены исключениям, как и NullReferenceException о котором предупреждает автор. Их будет легче отловить чем nre, но более приятным падение прода это не делает. Особенно актуально если ваш код распространяется как библиотека и у пользователей нет доступа к исходникам.
Прошу прощения за длинный текст, но все тут после видео Влада Тена, а вы с честно учитесь. Удачи!
Влад, как на счет ревю книги Егора Бугаенко "Elegant Objects"?
Спасибо, все верно.
Со всеми согласен кроме количества строк в методах. Уж слишком это категоричное и глупое правило "чистого кода".
Ну это для совсем домохозяек, решивших изучить программирование.
Тем более, обо всем этом дядюшка Боб рассказал давным давно.
Моментами уж крайне категоричные высказывания.
Любимый задрот ❤
Дарова, инфоцыган
Лол а как потом тестировать private методы?) С помощью рефлексии?
Тестируй только публичные методы ведь они используют приватные.
@@johnsnow2810 тогда процент code coverage будет стремить к нулю
@@walcermelodia приватные методы так или иначе вызываются публичными. Если нет - значит просто никогда не вызываются никогда.
все хорошо и по делу, но что должно произойти с мужиком что бы он себе гульку на макушке заплел как у тетки Вальки которая ретузы на веревках во дворе вешает сушить?
Попробуй записывать звук отдельно и накладывать на видео при монтаже, сокращает размер видео и ролик становится более информативным
чат ге бе те)
Тэн, топ!!!!! Отписался
Всегда полезный контент
Checker, Validator, Manager, getResult... На чистый код не похоже, скорее дурнопахнущий )))
nice
Нам мало! Ещё давай
Спасибо
CamelCase, pascalCase, snake-case, kebab_case
PascalCase
camelCase
Только ты перепутал snake_case и kebab-case. Первый как змея стелется по земле. Второй как кебаб на шампуре.
@@vryaboshapko всё перепутал блин)
Не выкупили) пересмотрите начало видоса про наименование классов, после этого я вырубил
bAnAnCaSe