@@user-to1or9cv5n значит у вас препод сам ещё зелёный раз проповедует такое. И сам не знает как правильно и вас не научил как нужно. Либо просто понимал что вы потенциальный конкурент в будущем.
@@santa000зачем улутшают коды? Для того чтобы лутше работало и быстрее . +Читабельность и другие люди которые возможно будут редактировать или улутшать чтобы легче могли понимать что в коде , а также если ты захочеш в будущем улутшить или чтото добавить то меньше нужно будет переписывать , если сейчас усовершенствовать
@@user-uh3hv7zv4hправо имеет, только разбираться в таком коде будет намного менее удобно чем в коде где переменные названы нормально и отражают то что они из себя представляют
@@archibaldo Смотря какой язык. В Java и C# например на это будет глубоко плевать компилятору. А вот в Python интерпретатор не поймет, какого хрена после того же условия у тебя табуляция отсутствует.
@@OlegVolgin В том что лезет в чужое болото, доколупатся можно до любого кода. Как говорится, - чужую соринку увидел , а бревно в своем глазу не замечает. Выглядит как закомплексованный школьник решивший поднять свое самомнение ,тыкнув носом в чужок код.
@@OlegVolgin в видео единственное что можно подтянуть к чистоте кода - расположение полей класса. Все остальное либо правится утилитами, либо вполне может укладываться в принятый код стайл. Так что делать выводы про какую то чистоту кода здесь нельзя.
@@neitralov739 класс по логике должен отвечать за текущие статы игрока, но кроме этого ещё и выводит информацию о левле "наружу". То есть он должен был бы иметь метод getLevel(), но не изменять сам гуй. Это не его ответственность.
@@films_editsu, не украинцы начали в 14м году орать москалей на ножи? Не украинцы ввели войска против своего народа на Донбасс? Не украинцы сожгли людей в доме профсоюзов в 14м году? Не украинцы сносили памятники Советскому Солдату? Не украинцы провозгласили нацистского преступника бандеру национальным героем? Не украинцы отказались выполнять собственноручно подписанные соглашения? Украина просила войны - Украина получила войну.
Чел просто не знает о существовании code style templates, которые просто нужно настроить на своё усмотрение дрочева и не выкладывать такие тупые разборы 😆
Если такое код-ревью бывает в команде, то у нее большие проблемы с инструментами. Не должны разработчики заботиться о мелочах типа отступов, все это должна делать автоматика пре-коммит хуков
@@Watozarato напомню что такой легендарный программист как Джон Кармак писал код высшего качества, напомню что есть общие стандарты читаемости, которые незначительно отличаются в разных студиях
Я понимаю людей которые отступают строчки в коде.Мне вот не удобно смотреть на код и разбираться в нем, когда все строки кода вместе. А когда они разделены сразу все понятно.
Согласен. При этом хочу сказать, что "maxLife" - да, вполне понятно, хотя в идеале бы переменную назвать "maxHpNumber" или "maxHpCount". А учитывая, что тут вообще публичные поля (что страшно), поле нужно было бы сделать приватным и внести правки в название. По итогу мы бы получили "_maxHpNumber". Но я не об этом) Я хотел сказать, что существуют общепринятные сокращения по типу "max", "min", "app", "config", "async", "id", "auth", "db" и т.п., которые, я считаю, вполне можно юзать в названиях. При этом есть такие, которые не относятся к этой категории по типу "mgmt" (management), "svc" (service) или как у него "cur" (current). Чаще всего такие сокращеня похожи на наскальную живопись, поэтому и воспринимаются сложно. Но да, я с тобой согласен в том плане, что полезнее было бы разбирать ЛОГИКУ и использованные механизмы для достижения определенной цели, а не "ляля, тут нет пробела". (со всем уважением к Роме (но уж частенько ты грешишь таким :) )) При этом я очень уважаю подход Ромы к чистоте в коде. Без этого в коде разбираться было бы очень больно.
@@rumrunner0 пару тупых и не очень вопросов. Что плохого иметь несколько полей публичными, если ты не собираешься создавать их дубликаты? (private var1 / public var1). И почему все постоянно используют _? Как по мне это максимально непонятный способ маркирования переменных. Я искал много разных объяснений, но все свелось к тому, что "каждый делает это для своего удобства, по своим разным причинам". И также с именованием "поле" и "переменная", каждый понимает их по своему и Гугл не даёт внятных результатов
@@holesmak окей, давай попробуем разобраться) 1. Что касается публичных полей. Публичных (а если точнее каких-либо, кроме private) полей в принципе в своей природе существовать не должно. Объясню это тем, что, имея такие поля, доступ к объекту становится неконтролируемым. Ты никаким образом не можешь "контролировать" состояние своего объекта. Контролировать - в смысле держать под контролем его состояние (а поля и являются состоянием объекта). Любой доступ к объекту извне должен осуществляться с возможностью контроля его состояния (валидации, проверки на логику и т.п. данных, которые получены извне, исключения случаев неправильного изменения состояния). По этой причине и появились "геттеры" и "сеттеры", то есть методы, через которые осуществляется доступ к состоянию объекта. (В C# есть свойства, но это просто сахар, который скрывает под собой всё те же геттеры и сеттеры). Кстати говоря, это всё равно неправильно, хотя тут и существует контроль. Смысл инкапсуляции зарыт глубже. Грубо говоря, чтобы изменить состояние объекта, нужно иметь метод, который спровоцирует это изменение. Пример на котах: если кот голодный, это значит, что его нужно накормить, а не изменить состояние его голода на +10. Неправильно: cat._satietyPoints = 10; Неправильно: cat.SetSatietyPoints(10); Правильно: сat.Eat(deliciousCatsFeed); (внутри метода Eat() меняется состояние сытости).
@@holesmak 2. Не знаю историю андерскора (нижнего подчеркивания), но, по сути, это просто негласное соглашение (а может и гласное) программистов об именовании приватных полей. Так легче визуально отделять приватное состояние от других использующихся в коде сущностей. Так же это использовалось для избежания конфликтов (или совпадений) между именами полей и параметров. Например, в конструкторе класса часто можно заметить, что имена параметров совпадают с именами полей класса. После добавления ключевого слова `this`, эта проблема была решена, т.к. теперь можно было четко разделять поля и параметры, добавляя к полям `this`. Во многих code guidelines можно заметить, что приватные поля рекомендовано называть с `_`. Это то наименование, которое проверено годами и всем знакомо.
@@holesmak 3. С понятиями "переменная" и "поле" всё очень просто, хотя и правда существует много непонятных вбросов. Как таковой просто переменной не существует. То, что называют переменной, на самом деле называется "локальная переменная". Переменные могут быть локальные или глобальные. В С# глобальных переменных не существует, есть только локальные. Локальные переменные могут быть созданы только в локальных областях (в методе, в условии, в цикле или же просто во вложенной локальной области и т.п. - во всём, что имеет функциональный контекст (там, где можно писать инструкции)). Поле - это сущность, которая может быть объявлена только в контексте класса. Поле служит хранилищем состояния экземпляра класса. Возможной причиной, из-за которой возникает недопонимание, является сама суть этих обеих сущностей: они обе предназначены для хранения данных и устроены похожим образом. Из-за того, что многие начинают учить программирование внутри метода Main(), для них базовая сущность это локальная переменная. Позже, когда они доходят до ООП, им в туториалах говорят, что "Поле" это как переменная, только для класса. И это неправильно, потому что поле - это не локальная переменная. Они похожи только тем, что их цель это хранить данные, но на этом сходства заканчиваются.
@@johnconstantine6331 Автор видео упрекает автора кода в том, что тот использует модификатор доступа "void" (выделяет красным прямоугольником на видео). По мнению автора видео, данный модификатор отражает не только некомпетентность автора кода, но и его сексуальную ориентацию. На мой взгляд человек, создавший концепцию работы этого модификатора доступа, не вкладывал такого значения в свое творение.
@@Red_Coder может он имел ввиду что не хватает модификатора доступа? Я конечно хз че это за язык, но в Java void означает что метод ничего не возвращает.
@@achillesofficial15 это язык Си, точно какой не могу сказать, но среда Visual Studio. Язык похож на С# или С++. Чел почему то придрался к методу void, хотя он нормальный...
Я могу простить неразбериху в полях, отсутствие новой строки между названием класса и юзингами, даже отсутствие модификатора доступа метода, хорошо, допустим ты тот самый человек для которого приват на дефолт придумали. Но непоследовательные фигурные скобки и отсутствие отступа внутри тела метода это... УУУУХ
@@vladimirleontiev8867 в некоторых случаях размещать их на одном уровне будет как раз против правил style guide'ов. убивает читабельность если кол-во аргументов слишком много/имена аргументов слишком большие
Поля не названы в разнобой, переверни их для себя вверх ногами и о чудо, они будут выстроены по логической цепочки. Тот кто это писал возможно просто любит смотреть на код снизу вверх
Автор красавчик. Я бы ещё проверил, что все эти поля делают. Ни одного read-only, private или const, хотя некоторые явно напрашиваются. Есть явный запашёк таскания данных через них или полный full statused code, за такое убивают.
C# не изучал, но знаю Java core. void - это не модификатор доступа, а тип возвращаемых данных, он означает, что метод с void ничего не возвращает и обязательно должен быть указан, если метод ничего не возвращает. Модификатор доступа в данном случае default или уровень пакета, что вполне нормально, если разработчик не хочет показывать этот метод вне пакета. И в Java есть такая фишка, что protected это ещё и default - два в одном )))
А на самом деле код только хуже будет, если его изменить по рекомендациям аффтара. Без сокращений придётся потом эту переменную вводить вдвое дольше. Старт придётся с нуля вставлять, когда понадобиться...
Там в добавок все поля имеют модификатор доступа public. Лучше всегда использовать либо private, либо protected, а для отображения в редакторе юзать [serializefield]
Пустой старт для того что было очевидно что программист хотел сказать что он не забыл про Start, и он должен быть пустым. Глобальные переменные можно засунуть куда подальше, в структуры.
какая разница как код выглядит, лол? люди в одну строку на перле вебсервисы пишут которые везде откроются, а ты тут за пропуск строки и названия переменных. a,b,c,d,e… - так обращаться быстрее и кода меньше. касательно старта пустого понятно.
Мне главное чтобы код работал нормально и было удобно в нем разбираться Изменено: кста я с помощью Романа Сакутина потерял мотивацию создавать игры из-за того что он так душнит, но потом опять поднялась мотивация (с помощью Хауди Хо)
после - нет пустой строки между названием выключил. Есть линтер, есть персональные настройки линтера. Если в 22м году еще вот такой хуйней они будут заниматься, то качество кода не сонар будет проверять видимо, а хер с горы, котрвй будет говорить включен линтер или нет. А так разнес. Как официнт года прям разнес
Модификаторы доступов зависит от код-стайла компании. У нас не принято использовать явные модификаторы доступа для дефолтных вариантов (private для переменных и функций, internal для классов и тд)
Сделал бота в котором собрал лучшие бесплатные материалы по разработке игр - t.me/sakutin_guides_bot
Бот который играет миди файлы в играх сделал в пайтон его попробуй обосрать! не получится, работает значит нормальный
from mido import MidiFile
import keyboard
mid = MidiFile('ваше название миди файла' , clip=true)
a = ['q', 'e', 'r', 't', 'y', 'u', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm', '0']
for msg in mid.play() :
if msg.type == 'note_on' and msg.velocity != 0:
if msg.note > 78:
keyboard.press_and_release(a[msg.note//12 + 12])
elif msg.note < 54:
keyboard.press_and_release(a[msg.note // 12])
elif:
keyboard.press_and_release(a[msg.note - 54])
print(msg)
Рв
Это я язык СИ?!
Сделай бота который будет обсирать чужой код
Ты программист?
Старков, когда в3?
Это из какого-то видео :)
Даже если и сам написал. То наверное для примера как писать не нужно. Что это мол дилетанство.
@@EoLienFive у нас такое задание было на исправление кода🤣
@@EoLienFive а потом этот код юзали😢
@@user-to1or9cv5n значит у вас препод сам ещё зелёный раз проповедует такое. И сам не знает как правильно и вас не научил как нужно. Либо просто понимал что вы потенциальный конкурент в будущем.
То чувство когда разносишь чей-то код, а потом уже вспоминаешь, что он твой: опа, не ловко получилось.
Но по крайней мере он объяснил как будет лучше и улучшить код
Жиза
На самом деле на свои pr тоже следует смотреть
@@Skrofi-gq9vqа нахуя улучшать? Он все равно работать будет.
@@santa000зачем улутшают коды? Для того чтобы лутше работало и быстрее . +Читабельность и другие люди которые возможно будут редактировать или улутшать чтобы легче могли понимать что в коде , а также если ты захочеш в будущем улутшить или чтото добавить то меньше нужно будет переписывать , если сейчас усовершенствовать
"Если это работает, то не трогай!"
-очень опытный программист ©
Согласен
Ты б ещё сказал "переменные названы не красиво", мамино счастье
Он вообще то на серьезе такое говорил в своих видео
Человек имеет право назвать переменную как угодно, хоть: Hitler_sdelal_vse_horosho
@@user-uh3hv7zv4hправо имеет, только разбираться в таком коде будет намного менее удобно чем в коде где переменные названы нормально и отражают то что они из себя представляют
@@user-uh3hv7zv4h, вообще, это должна быть константа, имеющая значение true.
@@uglerod1337поддерживаю
Обзор кода уровень "нет отступов"
А ещё модификатор private, те кто на шарпе пишут не знают, что методы по дефолту private, очень сильная доебка
Без отступа код не работает
@@archibaldo Смотря какой язык. В Java и C# например на это будет глубоко плевать компилятору. А вот в Python интерпретатор не поймет, какого хрена после того же условия у тебя табуляция отсутствует.
@@belgray1654 фигурные скобки решают
Отступы для удобности пользования, поиска себе и другим.
Хотел обосрать , но забыл снять штаны(
Ахахаах
В чем он не прав
@@OlegVolgin В том что лезет в чужое болото, доколупатся можно до любого кода. Как говорится, - чужую соринку увидел , а бревно в своем глазу не замечает. Выглядит как закомплексованный школьник решивший поднять свое самомнение ,тыкнув носом в чужок код.
@@karizna4805 а какое у него бревно?
@@OlegVolgin Бревно ЧСВ , и вокруг одни идиоты, только он один умный.
было бы тут разносить то еще что. Просто не оформленный код
Вот именно, а еще это все лечится парой сочетанием клавиш, такой себе разнос =\
@@gumelov подскажи клавиши пожалуйста
@@romeo0434 shift+alt+f
@@romeo0434 enter и backspace
Ctrl+A Delete
Мощный разнос от джуна
Так он сеньор
@@man53535он инфоцыган
@@man53535Ага, сеньор помидор😂
@@man53535 кто это решил?
Хоспадя разнёс так разнёс 😂 😂😂 гуманитарный разнос 😂😂😂.
Поддерживаю
А технический тогда что?
Не используйте тут while а for?
@@yksi2883 не используй if else
@@yksi2883 технический это рассмотр кода, а не текстового файла)
@@maks_fil Зачем смотреть что-то глубже, когда уже на поверхности код говно
Он до сих пор считает, что правильно программирует? Вот как нормальный парень в погоне за лайками превратился в посмешише...
Давно уже посмешище...
Он всё ещё считает что разнёс
@@deep.flight ходят легенды, что он до сих пор так считает))
@@koallabig553 говорят что он всё ещё умеет считать)
Ты прав
Господи, почему на ютубе кринж набирает популярность
Да,да, это прикинь программирование это по сложнее чем на диване сидеть.
@@archgeek161, а я так и не понял почему сокращения (а они тут крайне легко расшифровываются) считаются минусом?
@@user-cn3db4du6q ты о чем?
@@archgeek161, ты же пересмотрел видео?
@@user-cn3db4du6q да, это от смысловой части минус.
Вот так и появились программисты, которые вместо оценки алгоритмов оценивают код-стайл.
Если у тебя в стиле такое говно что ты там наалгоритмишь? Ты в порядок стиль написания не можешь привести, не то что-то конструктивно писать.
Понятие чистого кода, не слышал?
@@OlegVolgin линтер + бьютифайер. Не слышал?
@@yuriynevazhno2542 чистый код это не только про отступы и форматирование
@@OlegVolgin в видео единственное что можно подтянуть к чистоте кода - расположение полей класса. Все остальное либо правится утилитами, либо вполне может укладываться в принятый код стайл.
Так что делать выводы про какую то чистоту кода здесь нельзя.
Мощно надристал себе в штаны за 15 секунд
При этом не увидел нарушение закона Деметры. Зато поработал вместо код стайлера и стат анализатора, вау.
Можно объяснение где этот закон там нарушается?
@@neitralov739 класс по логике должен отвечать за текущие статы игрока, но кроме этого ещё и выводит информацию о левле "наружу". То есть он должен был бы иметь метод getLevel(), но не изменять сам гуй. Это не его ответственность.
Откуда вас столько повылазило? С кикбрейнс выпускники вылупились? :))
Флаг осуждаю, он к войне привёл, а с тезисом солидарен.
@@dkvChannel к войне привёл рабский народ раши
@@dkvChannel там не триколор
@@dkvChannel не Украина начала спецоперацию, а путлер и ввел тисячи российских солдат на территорию Украины
@@films_editsu, не украинцы начали в 14м году орать москалей на ножи? Не украинцы ввели войска против своего народа на Донбасс? Не украинцы сожгли людей в доме профсоюзов в 14м году? Не украинцы сносили памятники Советскому Солдату? Не украинцы провозгласили нацистского преступника бандеру национальным героем? Не украинцы отказались выполнять собственноручно подписанные соглашения?
Украина просила войны - Украина получила войну.
Способ легко обосрать код: нажимаем ctrl + a потом deleting и спрашиваем а где код?
Не считается так как кода нет
(И не смешно даже)
И в конце нужно добить: Ctrl+S
Волшебная комбинация ctrl + z 🤤
Чей код то хоть? Про старт реально согласен, но остальное высосано из пальца
Его
Чел просто не знает о существовании code style templates, которые просто нужно настроить на своё усмотрение дрочева и не выкладывать такие тупые разборы 😆
Чем отсутствие пустой строки не проблема? Выглядит очень убого
Так и с модификаторами доступа. С ними код выглядит просто лучше
@@ksonti2082...
Если такое код-ревью бывает в команде, то у нее большие проблемы с инструментами. Не должны разработчики заботиться о мелочах типа отступов, все это должна делать автоматика пре-коммит хуков
Может автоматика ещё и код сам писать будет?
@@dkvChannel я думаю мы не далеки от этого. Тот же Copilot довольно быстро развивается
Работает? Не трогай чтобы не сломать
Действительно, зачем вообще писать красивый, читабельный код? Главное чтобы работало
если код кривой и некрасиво оформлен то это код спагетти
@@kchertupsevdonimi, сугубо твои проблемы, что прочитать не можешь
@@Watozarato это сугубо проблемы кодера, если он пишет не читаемый код который основан на куче костылей который даже он сам не поймет через день
@@Watozarato напомню что такой легендарный программист как Джон Кармак писал код высшего качества, напомню что есть общие стандарты читаемости, которые незначительно отличаются в разных студиях
Для чого писати модифікатор доступу, якщо по дефолту він private, а тобі допустимо іншого і не треба ?
Я понимаю людей которые отступают строчки в коде.Мне вот не удобно смотреть на код и разбираться в нем, когда все строки кода вместе. А когда они разделены сразу все понятно.
ты так говоришь будто таких меньшинство
Тут собирались интеллектуалы, которых мне не понять
это же из старого видео вроде как, ты совсем обленился?
Не так пукнул, не так чихнул.
Главное что всё понятно в коде и это главное.
- Работает ?
- Да
- Вот и все, сойдет.
@@lphoenixl7771 и так сойдëт
Лан, это все по оформлению. Больше интересно про update посмотреть
И в чём беда использовать сокращения? maxLife довольно понятная переменная
Согласен. При этом хочу сказать, что "maxLife" - да, вполне понятно, хотя в идеале бы переменную назвать "maxHpNumber" или "maxHpCount". А учитывая, что тут вообще публичные поля (что страшно), поле нужно было бы сделать приватным и внести правки в название. По итогу мы бы получили "_maxHpNumber". Но я не об этом) Я хотел сказать, что существуют общепринятные сокращения по типу "max", "min", "app", "config", "async", "id", "auth", "db" и т.п., которые, я считаю, вполне можно юзать в названиях. При этом есть такие, которые не относятся к этой категории по типу "mgmt" (management), "svc" (service) или как у него "cur" (current). Чаще всего такие сокращеня похожи на наскальную живопись, поэтому и воспринимаются сложно. Но да, я с тобой согласен в том плане, что полезнее было бы разбирать ЛОГИКУ и использованные механизмы для достижения определенной цели, а не "ляля, тут нет пробела". (со всем уважением к Роме (но уж частенько ты грешишь таким :) )) При этом я очень уважаю подход Ромы к чистоте в коде. Без этого в коде разбираться было бы очень больно.
@@rumrunner0 пару тупых и не очень вопросов. Что плохого иметь несколько полей публичными, если ты не собираешься создавать их дубликаты? (private var1 / public var1). И почему все постоянно используют _? Как по мне это максимально непонятный способ маркирования переменных. Я искал много разных объяснений, но все свелось к тому, что "каждый делает это для своего удобства, по своим разным причинам". И также с именованием "поле" и "переменная", каждый понимает их по своему и Гугл не даёт внятных результатов
@@holesmak окей, давай попробуем разобраться)
1. Что касается публичных полей. Публичных (а если точнее каких-либо, кроме private) полей в принципе в своей природе существовать не должно. Объясню это тем, что, имея такие поля, доступ к объекту становится неконтролируемым. Ты никаким образом не можешь "контролировать" состояние своего объекта. Контролировать - в смысле держать под контролем его состояние (а поля и являются состоянием объекта). Любой доступ к объекту извне должен осуществляться с возможностью контроля его состояния (валидации, проверки на логику и т.п. данных, которые получены извне, исключения случаев неправильного изменения состояния). По этой причине и появились "геттеры" и "сеттеры", то есть методы, через которые осуществляется доступ к состоянию объекта. (В C# есть свойства, но это просто сахар, который скрывает под собой всё те же геттеры и сеттеры). Кстати говоря, это всё равно неправильно, хотя тут и существует контроль. Смысл инкапсуляции зарыт глубже. Грубо говоря, чтобы изменить состояние объекта, нужно иметь метод, который спровоцирует это изменение. Пример на котах: если кот голодный, это значит, что его нужно накормить, а не изменить состояние его голода на +10. Неправильно: cat._satietyPoints = 10; Неправильно: cat.SetSatietyPoints(10); Правильно: сat.Eat(deliciousCatsFeed); (внутри метода Eat() меняется состояние сытости).
@@holesmak
2. Не знаю историю андерскора (нижнего подчеркивания), но, по сути, это просто негласное соглашение (а может и гласное) программистов об именовании приватных полей. Так легче визуально отделять приватное состояние от других использующихся в коде сущностей. Так же это использовалось для избежания конфликтов (или совпадений) между именами полей и параметров. Например, в конструкторе класса часто можно заметить, что имена параметров совпадают с именами полей класса. После добавления ключевого слова `this`, эта проблема была решена, т.к. теперь можно было четко разделять поля и параметры, добавляя к полям `this`. Во многих code guidelines можно заметить, что приватные поля рекомендовано называть с `_`. Это то наименование, которое проверено годами и всем знакомо.
@@holesmak
3. С понятиями "переменная" и "поле" всё очень просто, хотя и правда существует много непонятных вбросов. Как таковой просто переменной не существует. То, что называют переменной, на самом деле называется "локальная переменная". Переменные могут быть локальные или глобальные. В С# глобальных переменных не существует, есть только локальные. Локальные переменные могут быть созданы только в локальных областях (в методе, в условии, в цикле или же просто во вложенной локальной области и т.п. - во всём, что имеет функциональный контекст (там, где можно писать инструкции)). Поле - это сущность, которая может быть объявлена только в контексте класса. Поле служит хранилищем состояния экземпляра класса. Возможной причиной, из-за которой возникает недопонимание, является сама суть этих обеих сущностей: они обе предназначены для хранения данных и устроены похожим образом. Из-за того, что многие начинают учить программирование внутри метода Main(), для них базовая сущность это локальная переменная. Позже, когда они доходят до ООП, им в туториалах говорят, что "Поле" это как переменная, только для класса. И это неправильно, потому что поле - это не локальная переменная. Они похожи только тем, что их цель это хранить данные, но на этом сходства заканчиваются.
В школе разносили его, а теперь он решил отыграться на несчастном коде)))
Это его код
создатель ключевого слова "void" в недоумении
А можно разъяснить Панч для тех, кто на бронепоезде
@@johnconstantine6331 Автор видео упрекает автора кода в том, что тот использует модификатор доступа "void" (выделяет красным прямоугольником на видео). По мнению автора видео, данный модификатор отражает не только некомпетентность автора кода, но и его сексуальную ориентацию. На мой взгляд человек, создавший концепцию работы этого модификатора доступа, не вкладывал такого значения в свое творение.
@@Red_Coder может он имел ввиду что не хватает модификатора доступа? Я конечно хз че это за язык, но в Java void означает что метод ничего не возвращает.
@@achillesofficial15 Да, скорее всего это он и имел в виду.
@@achillesofficial15 это язык Си, точно какой не могу сказать, но среда Visual Studio. Язык похож на С# или С++. Чел почему то придрался к методу void, хотя он нормальный...
Разнёс чужой код? Чел, харош, а как насчёт помочь маме разнести постиранную одежду по ящикам?
*музыка из Дюка Ньюкема*
Это его код
Он твоей мамке обязательно поможет, сразу как она со стиральной машины за трусами с этой самой машины слезет....
POV: Типичный code review кода на мердж с мастером (кто понял, тот понял)
Если бы я писал этот код, то мне бы и так сошло. Главное, чтобы работало 👍
а еще черный экран 📺 тоже очень не красиво.. если б розовенький хотя бы.
С этого и надо было начинать, чел на темной стороне, все остальное мелочи 🙂
Я могу простить неразбериху в полях, отсутствие новой строки между названием класса и юзингами, даже отсутствие модификатора доступа метода, хорошо, допустим ты тот самый человек для которого приват на дефолт придумали. Но непоследовательные фигурные скобки и отсутствие отступа внутри тела метода это... УУУУХ
Это похоже на код моих первых игр... Правда блиииин отступы и табуляции. Мой внутренний перфекционист не пропустил бы этот код даже в первых играх.
Что такое непоследовательные фигурные скобки
@@shanewalsch быть может он имеет ввиду что открытая скобка и закрытая не на одном уровне, хотя style guide этого не запрещают
@@vladimirleontiev8867 в некоторых случаях размещать их на одном уровне будет как раз против правил style guide'ов. убивает читабельность если кол-во аргументов слишком много/имена аргументов слишком большие
@@shanewalsch не понимаю как это может снизить читабельность, мне наоборот приятней смотреть на:
void func()
{
...
}
чем на
void func() {
...
}
Как увидел что public:, private: нету , упал в обморок, ведь как люди живут без этого
Да пошел ты) Хороший код, легко читается, работает. А то что человек еще не достаточно опытный так это дело наживное.
У чему этот негатив, вообще? Сам написал что "обсер" и "разнос" а не замечание ошибок в коде.
Нет, ну вот с модификаторами доступа это уже реально перебор
М? Разве вы, сишарперы, из по дефолту не указываете?
@@gepron1x по дефолту модификатор стоит приватный, можно не писать. Немного не понимаю зачем писать private
@@devastaza0451 есть рекомендация по явному указанию модификатора доступа
@@dez0rted291 зачем делать private по дефолту и затем делать рекомендацию по его явному указанию?
@@UltraChort что бы одни инфоцыгане могли обсирать других инфоцыган. Вот бы гит посмотреть этих разработчиков.
Хорошо хоть заметил модификаторы доступа, которые для него не оставили 😁
Поля не названы в разнобой, переверни их для себя вверх ногами и о чудо, они будут выстроены по логической цепочки. Тот кто это писал возможно просто любит смотреть на код снизу вверх
тот случай, когда захотел поднять свою самооценку и посмотрел на свой код спустя год 😅
Объясните чем вам не нравится модификатор доступа??
Походу тем, что его нет.
Тем что автор не уверен что это private, наверное
@@user-vu6hn4ul2i ну как бы есть, называется Default)
смачно ты делаешь разнос, хорошо прям. а слабо сделать дз?
Каждый гайд этого мужика, просто прекрасен)
Я как человек из гейского мира жаваскрипта заявляю, что половину претензий должен решать робот, как prettier в js
Ну вообще модификаторы доступа полей класса не приватные, так шо уже минус
Сколько лет пишешь? В какой области, областях работал, работаешь?
Автор красавчик. Я бы ещё проверил, что все эти поля делают. Ни одного read-only, private или const, хотя некоторые явно напрашиваются. Есть явный запашёк таскания данных через них или полный full statused code, за такое убивают.
на зоне бы за такое...
Пустой метод может быть заглушкой, если метод объявлен в интерфейсе, но не используется в конкретной реализации.
PyCharm когда не нашел пустую строчку в конце кода:
void - модификатор доступа??? да... разнёс так разнёс...
Ну public человек забыл написать перед void)
В Java по умолчанию модификатор private. Форматирование автоматически исправляется тремя кнопками.
одно и то же из видео в видео, четко!
Повторение мать учения
Наконец-то нормальный разнос. Всё, кроме, пожалуй, сокращений, действительно является проблемой
Тот момент, когда разносишь код из-за code style и не знаешь про модификатор доступа класса.
когда установил линтер и теперь делаешь ревью человеку у которого его нет
Тот момент, когда обсираешь код, а потом до тебя доходит что это твой же код.
C# не изучал, но знаю Java core. void - это не модификатор доступа, а тип возвращаемых данных, он означает, что метод с void ничего не возвращает и обязательно должен быть указан, если метод ничего не возвращает. Модификатор доступа в данном случае default или уровень пакета, что вполне нормально, если разработчик не хочет показывать этот метод вне пакета. И в Java есть такая фишка, что protected это ещё и default - два в одном )))
"Да, что такое этот ваш ЮЗИНГ!"
шутка
Нет строки как больно, сократил переменные нет мне же надо писать это 2 часа
Пустой метод старт так повлияет на игру капец
А на самом деле код только хуже будет, если его изменить по рекомендациям аффтара. Без сокращений придётся потом эту переменную вводить вдвое дольше. Старт придётся с нуля вставлять, когда понадобиться...
Как называется приложения
Вот это обзор, даже код на работу не проверил. Чисто синтаксис. Да это можно просто с помощью расширений исправить
Там в добавок все поля имеют модификатор доступа public. Лучше всегда использовать либо private, либо protected, а для отображения в редакторе юзать [serializefield]
По умолчанию без указания модифткатора доступа он получает private, гугл в помощь
Пустой старт для того что было очевидно что программист хотел сказать что он не забыл про Start, и он должен быть пустым. Глобальные переменные можно засунуть куда подальше, в структуры.
если надо паблик - пишем паблик
если не надо паблик - не пишем паблик
У каждого свой код, да и ощущение что ты сам его написал...
какая разница как код выглядит, лол? люди в одну строку на перле вебсервисы пишут которые везде откроются, а ты тут за пропуск строки и названия переменных. a,b,c,d,e… - так обращаться быстрее и кода меньше. касательно старта пустого понятно.
Это его код
Свой разнес гений😂
Единственный адекватный это про пустой старт)
Без "БЛ@@@@@@@@" Не восприминаю информацию.
Ты ещё мой код не видел, будешь дристать так, что на такой тяге до Марса долетишь. А мне похер, он работает.
Лично меня бесит, когда фигурные скобки не переносят на строку ниже
Комментарии толпы барашков меня впечатляют, умный сделает выводы и прислушается чтобы не делать таких ошибок 😂
Автора видимо били в школе в детстве, поэтому он теперь газлайтингом решил заняться 😂
О нет как же так. Из-за этого мой персонаж не будет изрыгать из себя префабы
ну всё верно, только это не про код, а про кодстайл конкретно
Это творческий код. Я так пишу и все отлично
Когда тебя укусил радиоактивный линтер
Автор при создании видео такой: "Чем больше не понятных слов, тем лучше!"
как приложение называется где делали код?
А какой прикажешь использовать модификатор доступа для void Srart и Update?
код ревью уровня "табы и пробелы некрасиво расставлены"
Наверное, публичные переменные и установка значений в апдейте куда более мощный косяк. Видео, что это очередной код по гайду ютуб гуру)
Потраченное 30 сек многих людей просоанное жизнь 30 мин автора
А то что в update там что-то присваивается это норм😂
Обосрать прямоугольниками и не научить людей это конечно сильно. Ну ладно.
тут уже реально обосрал, внатуре просто высрал желчь
Искать отступы ..зато теперь на собесе можно рассказывать,что проводил ревью кода
Мне главное чтобы код работал нормально и было удобно в нем разбираться
Изменено: кста я с помощью Романа Сакутина потерял мотивацию создавать игры из-за того что он так душнит, но потом опять поднялась мотивация (с помощью Хауди Хо)
после - нет пустой строки между названием выключил. Есть линтер, есть персональные настройки линтера. Если в 22м году еще вот такой хуйней они будут заниматься, то качество кода не сонар будет проверять видимо, а хер с горы, котрвй будет говорить включен линтер или нет. А так разнес. Как официнт года прям разнес
В моём коде та ещё каша. Есть переменная move, но я ее не создавал и тд. Хах)
А ловко ты свой модификатор увидел, я сначала даже не понял)
Сокращения это норм, если они понятные как в этом случае, прикинь если было бы название символов на 50
поясните про отступы и методы, что не так?
Модификаторы доступа для чего?
Хаахахаахахаха, тооооп😂
Я правильно понял, что автор кода не считал тебя п...ором, но ты заставил его добавить модификаторы доступа в методах?
Плохой код это тот код,который не работает или работает неправильно.Всё остальное это хороший код.Всё,что ты сказал-высосано из пальца
плохой код это с которым неудобно работать, называется код спагетти
Согласен, только модификаторы могут быть пропущеные когда надо интернал код писать
Модификаторы доступов зависит от код-стайла компании. У нас не принято использовать явные модификаторы доступа для дефолтных вариантов (private для переменных и функций, internal для классов и тд)
Радже привет передавай!
Я всё понял, но так и не понял, что с модификатарами не так?
как программа называется?