Тёмный

Что такое говнокод? Тот, что не работает? 

Sergey Nemchinskiy
Подписаться 360 тыс.
Просмотров 114 тыс.
50% 1

Что такое говнокод? Данная тема часто поднимается, сегодня и мы ее обсудим.
Курсы для новичков:
🎓JAVA Start - bit.ly/3EkIiif
🎓Инструментарий JAVA - bit.ly/3Cp9PP1
🎓JAVA Spring - bit.ly/3pCtK9I
🎓C#/.NET - bit.ly/3Con5DI
🎓ANDROID С НУЛЯ - bit.ly/3vNhLY1
🎓Automation QA (Java) - bit.ly/3Guj5Ui
🎓FRONT-END (Angular) - bit.ly/3Grzysp
🎓FRONT-END (React) - bit.ly/3BkLUyP
🎓UI/UX дизайна - bit.ly/3CkNQcb
🎓PYTHON - bit.ly/3pPWNqa
🎓SalesForce - bit.ly/2ZohCxW
🎓PHP - bit.ly/3mj5PtT
🎓iOS - bit.ly/3nrOT3u
🎓GameDev - bit.ly/3bi73iy
🎓Обучение на проекте - bit.ly/3bfnITV
Продвинутые курсы для состоявшихся девелоперов:
🎓Enterprise patterns - bit.ly/3vMaQhG
🎓GRASP and GoF Design patterns - bit.ly/3BkOYej
Сайт Foxminded: bit.ly/3pI9eV9
Foxminded в ФБ: / foxmindedco
FoxmindEd в Instagram: / foxminded.ua
Мой Telegram: t.me/nemchinskiyOnBusiness
Мой блог: www.nemchinsky.me

Опубликовано:

 

4 ноя 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 467   
@Velo-Bomzh
@Velo-Bomzh 4 года назад
*Однажды злодеи решили украсть мой код, но не смогли его прочитать. Один сразу выпрыгнул в окно, второй успел выколоть себе глаза.*
@alexanderbelov6892
@alexanderbelov6892 4 года назад
Однажды в США автоугонщики хотели угнать автомобиль с ручной коробкой передач. Но не смогли понять, как работает ручная коробка передач. Пришлось ретироваться.
@Tyn4tyk
@Tyn4tyk 3 года назад
@@olsuhvlad меньше бы таких как вы)) простое делаете сложным
@TheGloriousRussian
@TheGloriousRussian 3 года назад
А третий всё время повторял WTF
@rammix1
@rammix1 Год назад
@@TheGloriousRussian *А третий с тех пор непрерывно повторяет WTF.
@_WingCommander
@_WingCommander Год назад
Вполне тянет на статью "доведение до самоубийства", аккуратнее 😁
@eugenedukatta9355
@eugenedukatta9355 4 года назад
Почему в очень многих резюме есть ГОВНОтребование: "Умение понимать чужой код" ??? Но я ни разу!!! не встречал требование "Уметь писать код так, чтобы его понимали другие" ?
@user-vh9bi3ft8r
@user-vh9bi3ft8r 4 года назад
Потому что приехав в Китай тебе придется понимать по китайски, а не переучивать всех говорить по русски. А если ты не способен прочесть код в котором скобочки пробельчики не так расставлены как ты привык, то пойди купи себе букварь и научись наконец читать.
@damirgarifullin6877
@damirgarifullin6877 4 года назад
У JetBrains есть в вакансии такое: "Умеешь проектировать и писать код, который легко читать и поддерживать."
@ivansidorov5
@ivansidorov5 4 года назад
советую не идти в такие конторы. история там была скорей всего такая: очередной умный оптимизитор менеджер-начальник решил экономить и нашел джуниора который сделал какашку за 20 000 рублей в месяц за 1 год, а теперь ищут тебя, который эту какашку будет поддерживать
@damirgarifullin6877
@damirgarifullin6877 4 года назад
@@ivansidorov5 в jetbrains?
@ivansidorov5
@ivansidorov5 4 года назад
@@damirgarifullin6877 Да в любое место , где пишут что нужно умение читать чужой код. Любйо человек умеет читать чужой код, но этим собщением они готовят к говнокоду, потому что какой-то умный начальник до тебя нанимал чухана за 10 000 рублей и он там наговнокодил, если бы изначально наняли норм программиста за 250 000 рублей то говна бы и не было в проекте
@purplep3466
@purplep3466 4 года назад
Согласен с автором, но все же, иногда нужно насрать, чтобы вырос цветок
@user-pz1jx1fp2f
@user-pz1jx1fp2f 4 года назад
Ты сделал мой день ))
@user-gs6qd9gd1d
@user-gs6qd9gd1d 4 года назад
Это ты про удобрение?))))
@alexanderbelov6892
@alexanderbelov6892 4 года назад
Скорее так: если у программиста есть столько времени, чтобы написать идеальный код, то вероятно его компания движется к банкротству, так как их конкуренты уже выходят на рынок с говнокодом.
@KlinovAS
@KlinovAS 4 года назад
По этому в Пайтоне срать нужно очень акуратно, а в СосиДваПлюса или Джузи можно одной длинной
@tsoier
@tsoier 4 года назад
x -= -1
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
вот именно :) Даже я завис секунд на 5. Не надо так :)
@user-yh4um1jm6b
@user-yh4um1jm6b 4 года назад
Ништяк. Буду теперь так инкрементить)
@VIlyaM108
@VIlyaM108 4 года назад
Это, типа, лайк поставил?
@SlavikUkraine
@SlavikUkraine 4 года назад
@User 1 это операция прибавления единицы к переменной х, только замысловатым и нецелесообразным способом( иначе говоря, через задницу) .
@SlavikUkraine
@SlavikUkraine 4 года назад
@User 1 Ты , походу , не понял мой предыдущий комментарий , как и то , что должен был делать тот код. "Х -= -1" это равносильно тому, если бы ты написал x = x - (-1) т.е. по правилам математики х+1. Оператор -= это аналог X=X -... . Ты же написал про какую-то ерунду , к тому же в левой части у тебя должна стоять переменная. Т.е. Х . Никаких -Х , 2Х и т.д. + ко всему этому , ты пишешь почему не -х= -1. Да потому что в первом случае мы отнимаем минус единицу( прибавляем единицу), а твоя запись ( по крайней мере, так подразумевалось) делает Х постоянно равной 1
@dimapetrashchuk3036
@dimapetrashchuk3036 4 года назад
Говнокод это не только плохой кодСтайл или нечитаемый код, а и вполне красивые и читаемые костыли)
@webget1596
@webget1596 4 года назад
Кстати да, очень бесит когда можно решить саму проблему довольно немножко переписав код, но программист решает просто дописать к ней костыль, а в будущем из-за этого костыля приходиться переделывать пол проекта))
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
да, безусловно. Но это по правилу Паретто
@andrewvsk2368
@andrewvsk2368 4 года назад
То есть почти все паттерны проектирования xD. Модели событий, делегаты и прочие модные фишки). События в Сишном стиле более прямолинейны, зато любой поймёт код. В C# в достаточно сложной программе запрос идёт через дохрена интерфейсов и эвентов, но это называется разумным кодом. Любой open source проект на C читается вообще без проблем.
@maxlich9139
@maxlich9139 4 года назад
@@webget1596 не мы такие, жизнь такая)))
@KoCMoHaBT61
@KoCMoHaBT61 4 года назад
@@andrewvsk2368 Вот прямо 146% попадание. Наплодила банда четырёх "жабапрограммистов со знанием паттернов", теперь для того, чтобы два числа сложить они пишут фактори, делегаты, эвенты... А ещё где-то есть тайная книжка, которое плодит программистов однострочных функций: Read->ReadNumber->ReadNumberFromFile->ReadNumberFromTextFile->ReadNumberFromUTFEncodedTextFile.
@man-jj7rc
@man-jj7rc 4 года назад
После просмотра 20 роликов Немчинского стал senior Java developer, Очень годно.
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
серьезно? :)
@ni55an
@ni55an 4 года назад
А коллеги и руководство в курсе? 😃
@cupon8869
@cupon8869 4 года назад
лох, я президентом стал уже после 8го ролика
@Dmittry
@Dmittry 4 года назад
Я после 5-го ролика познал дзен и ушёл в тибетский монастырь.
@Max-kr4ie
@Max-kr4ie 4 года назад
Я после первого ролика посмотрел второй. А чего добился ты ?
@vasilymaestrovs9546
@vasilymaestrovs9546 4 года назад
Вчера я делал ревизию своего первого андроид-проекта. Который писал еще в 15-16м году. И я понял, что такое говнокод ))
@inbuckswetrust7357
@inbuckswetrust7357 4 года назад
теперешний лет через 5 посмотришь ;)
@MrSumkinFedor
@MrSumkinFedor 4 года назад
Радуйтесь - ведь это значит, что вы выросли в профессиональном плане.
@artyomb7424
@artyomb7424 4 года назад
Порой смотришь в код месячной давности, а там такая жуть и ты не понимаешь зачем ты это написал)
@liamsmith7052
@liamsmith7052 4 года назад
Я свой первый андроид-проект переписывал 3 или 4 раза. Там просторов для косяков уйма, это да.
@alexanderbelov6892
@alexanderbelov6892 4 года назад
Я могу сделать ревизию своего кода, который писал для себя 20 лет назад, и сделать вывод, что это не говнокод, хотя его можно было бы спроектировать лучше (сейчас я это понимаю чуть лучше), и я этот код всё еще понимаю. Но также понимаю, что его больше никто не поймёт, так как он содержит алгоритмы, чьё описание в книге я перечитывал несколько раз, чтобы начать понимать их. А понять эти же алгоритмы глядя в код просто невозможно - тяжёлая математика. И то что этот код никто не поймёт при любом способе написания и стиля - гарантированно. Но всё равно это не говнокод, а некоторое отсутствие документации, квалификации читающего, и т.п. Если бы я читал чьи-то алгоритмы из области генетики, то я бы также вряд ли что-то понял, но не потому что передо мной говнокод. Так что понятие говнокода относительно, и не определяется количеством WTF, а скорее временем и усилиями, которые читатель хочет потратить на изучение кода. Не хочет - говорит постоянно WTF, и объявляет всё говнокодом. Совершенно не корректный критерий.
@1981leks
@1981leks 4 года назад
Любой чужой код говнокод. И даже свой код годичной давности и дальше тоже говнокод.
@mmospanenko
@mmospanenko 4 года назад
Годичной?) Возможно на джавах, но вот в чем-то более живом это в неделях и днях может измеряться) я часто ловлю себя на мысли что перед тем как ругаться лучше сразу посмотреть в гит блейм - там часто я, и не всегда несколько лет давности))
@andrewvsk2368
@andrewvsk2368 4 года назад
Не всегда и сильно зависит от языка. Например, на чистом C если не выделываться и работать с умом получается код на века. При этом любой проект на Java (который согласно пиар-компании должен упрощать код) превращается в дерьмо очень-очень быстро. Причём ООПшники порой полные неадекваты, задачи, которые решаются в 500 строк кода в одном файле они решают создавая дохрена классов и интерфейсов, реализуют паттерны (смысл которых чаще НЕ понимают, чем наоборот) и получается тормознутый монстр с массой потенциальных семантических ошибок). Это "добро пожаловать в реальный мир", на словах все идеально, на практике сами языки чаще способствуют порождению ПО из натурального дерьма.
@eduardczuwak8394
@eduardczuwak8394 4 года назад
Seregi? ja seregi kod ludshe dazhe ne verstaju...zabyl, napisal na novo..poreshaesh srazu kuchu zadacz.
@KlinovAS
@KlinovAS 4 года назад
согласен. и английский язык тоже вонючее гавно. читается одно, а произносится другое
@alexsandrosipenko2182
@alexsandrosipenko2182 4 года назад
Обожаю ваши видео. Очень мотивирующие и дающие не ИТ специалисту понять структуру в целом, а не только как быть гребцом на галере. Спасибо Вам огромное))
@user-bv2hl5rj5e
@user-bv2hl5rj5e 4 года назад
когда я однажды делаю проект, я ликую над кодом за красоту и лаконичность спустя год почти у всех проектах код называю говнокодом, переделываю, снова ликую за касоту и лаконичность и так циклически
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
отлично, значит - растете
@lynx6511
@lynx6511 4 года назад
Помнится, надо мне было внести изменения в код дипломной работы на C++/Qt, которую писал весной прошлого года. Первые часа два я не мог понять, что там происходит и под чем я был, когда писал этот код. Изучение джавы дало неплохой толчок по ООП и вообще, как всё должно быть. Теперь я пишу говнокод, но уже не настолько дурно пахнущий. :)
@Konstantin_Terletskiy
@Konstantin_Terletskiy 4 года назад
Во-во. Очень знакомое ощущение. Смотришь свой же код двух-трёхмесячной давности и думаешь иной раз, что да, сейчас я уже так не написал бы. И да, в программировании развиваться надо непрерывно. А то как получается, первые свои программы я писал, помню, для персоналки Hewlett-Packard 85 ещё в 1982 году. Там ещё операционки не было даже, просто Бейсик-монитор встроенный. И всё. А потом МИФИ, студент факультета Кибернетики. А там у нас вообще к старшим курсам было так - ну чего? Новый язык изучить? Паскаль у нас там не читали, Си не читали, сами брали книжку и изучали. Потом C++, потом уже в Штатах фирма послала всех своих программистов на недельные курсы основ Явы. Основы дали, дальше опять сами. И сейчас всё сами. А так что, на уровне 1982 года застрять, что ли? Нет, программирование и хорошо именно тем, что постоянно требуется развитие. Застрял - всё. Специфика профессии.
@akiloci2198
@akiloci2198 4 года назад
08:50 а если Вы видеоблогер, и не развиваетесь, меняйте профессию)) Это я к тому, что поначалу критиковал ваши видео, но теперь они мне нравятся всё больше и больше))
@lichlichi
@lichlichi 4 года назад
Спасибо вам, Сергей)
@WolfzPain
@WolfzPain 4 года назад
Встречаю такую тему, что многие усложняют себе задачу или лепят весь код в один метод отчасти и на это есть проверки, но обычно такие (на размер метода) правила отключают. Короче KISS пацаны)
@Mr43046721
@Mr43046721 4 года назад
Большое спасибо за видео. Мотивируете писать код вместо просмотра котиков на работе)))
@alexperemey6046
@alexperemey6046 Год назад
Я сейчас читаю книгу Элеонор Остром "Управление общим". Там описана интересная проблема, при которой все вроде и понимают, что нужно "делать правильно" и так будет "лучше для всех" в конечном итоге. Но никто не делает, поскольку "будет лучше" только в том случае если так будут делать все. А если не все, то больше всех пострадает тот, кто все же делает правильно. И мне кажется, что в вопросе "говнокода", который все осуждают и все равно пишут, эта идея тоже много объясняет. Чтобы написать код "понятный для других" зачастую нужно банально больше времени уделить его архитектуре, доводке, даже названия переменных возможно подберешь не с первого раза. Это лишняя работа и лишнее время. Которое сохранит время того программиста, который будет саппортить код после тебя. А оно ТЕБЕ надо? Особенно если учесть, что времени всегда не хватает и все такое, ведь начальную версию продукта нужно выпустить как можно быстрее. Это уже потом, когда продукт начал приносить прибыль, можно на эту прибыль жить и не спеша вылизывать код. Вот и получается, что ВСЕГДА проект пишется на говнокоде. А уже потом, возможно, будет поставлена задача привести код в порядок. Когда уже "все работает" и есть время перевести дух. Задачу эту возможно будешь ты и решать (хотя ты от своего говнокода страдаешь меньше и понимаешь его лучше), а возможно, ее будет решать уже кто-то другой.
@user-pn2ev2je2l
@user-pn2ev2je2l 4 года назад
Благодарю за видео.
@user-cb6cy5vp2n
@user-cb6cy5vp2n 4 года назад
Когда вы смотрите на свой старый говнокод, вы понимаете, что растете. Да, согласен. НО понятие "говнокод" работает также в режиме реверса: когда вы (например новичок) смотрите на чужой более продвинутый код - он также кажется вам говнокодом. Или, иными словами, если вы могли бы посмотреть на свой код В БУДУЩЕМ - он также показался бы вам говнокодом. Философия. Всё течет, всё меняется, а на самом деле все изменения - лишь иллюзия, всё неизменно от говна к говну...
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
ахахаха
@RUS4HELP
@RUS4HELP 4 года назад
Вы самый топовый ментор! И умный и с чувством юмора!
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
спасибо!
@serggio88888
@serggio88888 4 года назад
ну как же приятно Серея слушать)
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
пасиба :)
@malikvalley
@malikvalley 4 года назад
Серей это кто? (Who?)
@rambler9249
@rambler9249 4 года назад
@@malikvalley это деепричастие
@xrollup
@xrollup 4 года назад
"программирование - профессия где все время придется учиться", и вот это блин ни разу не аллегория или стеб. это, блин, так и есть.
@soversus5374
@soversus5374 4 года назад
а что делать... языки совершенствуются и чаще в лучшую сторону. Так что это скорее плюс...
@user-xj7hh9dq2u
@user-xj7hh9dq2u 4 года назад
в основном в вебе и геймдеве, в остальных сферах все более-менее спокойно.
@vargvarg7922
@vargvarg7922 3 года назад
@@user-xj7hh9dq2u как жсер скажу, что нифига подобного, хрен бы сним что либы и фреймы совершенствуются постоянно, сам жс в 2015 году выкатил ес6, который неплохо так поменял подход
@iSonsaku
@iSonsaku 4 года назад
Посмотрев это видео, я понял что нужно писать для себя и пробовать новые проекты реализовывать самому. Ковыряться в чужих гавно-кодах и работать за копейки добавляя функционал в говно. Просто шикарная перспектива.......
@LyubomirZalizkiy
@LyubomirZalizkiy 4 года назад
Привет! Есть вопрос - Хорошо ли использовать автоаптейт БД из гибернейта. Или лучше писать SQL миграции ? Спасибо за видео! Очень интересно!
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
на этапе прототипирования - самое оно. дальше - отключайте нафиг
@meteysh
@meteysh 4 года назад
Все верно коротко и понятно рассказал
@TedRed
@TedRed 4 года назад
Здравствуйте! Есть вопрос к вам Как лучше писать код: 1) максимально подробно и понятно каждому (но код будет длинным) 2) максимально кратко и эффективно (код будет коротким, но порой непонятным с первого взгляда) Или все же какой-то баланс держать лучше? Я только начинающий)
@Dmittry
@Dmittry 4 года назад
У меня не говнокод! У меня обфускация! (Главное - правильный маркетинг.)
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
ахахаха
@andrewvsk2368
@andrewvsk2368 4 года назад
Любой проект на C# или Java - это обфускация). Никто даже о декомпиляции не парится никогда, т.к. читать этот говнокод - неблагодарное дело. Это по определению write-only. Это одна из причин, почему чистый C до сих пор жив и жив будет и почему даже современные либы пишут именно на C. В защиту C# (на Java не пишу, но та же фигня) - быстрота и удобство на первых порах. То есть очень круто прототипировать приложения, которые почти сразу будут работать, т.к. дофига инструментов доступны из коробки и чаще работают, чем нет), но поддерживать код на C# - это ХУЖЕ, чем поддержка бородатого сишного кода стандарта с89 c *бнутыми структурами данных и стилем.
@alexanderbelov6892
@alexanderbelov6892 4 года назад
Dijkstra программирование - это программирование с использованием имён переменных d, i, j, k, s, t, r, a.
@memzo_getR
@memzo_getR 2 года назад
Недели 2 назад начал изучать пайтон, писал простые коды по заданиям по курсам.. прошёл пару теорий, заданий.. решил закрепить материал и вернулся назад и заметил свои старые коды написанные в 5-10 строк и просто переписал их на более понятный лад и в 2-3 строки.
@standvik1159
@standvik1159 2 года назад
как успехи в обучении?
@user-cy1mz4om5w
@user-cy1mz4om5w 4 года назад
К сожалению, существует способ сделать очень понятный код, но тем не менее WTF будет раздаваться при его чтении постоянно. Сделать код слишком длинным. То есть никакой универсальности, минимум абстракций - все вопросы решать тупо лоб и делать очень много копипасты. Такой код поймет даже школьник. Но почти любой программист оказавшись где-нибудь на 4056-й его строке, будет материться сильнее, чем от любой сложности говнокода. У меня сейчас как раз такая задача. Через неделю уже сдавать проект, а его явно писали дети. Сижу и часами читаю сочинения "как я провел лето". Это ужасно.
@alexperemey6046
@alexperemey6046 Год назад
Если код на уровне "как я провел лето" - это прекрасно. Просто задачи-то решаются сложные. И поэтому "решение в лоб" с точки зрения языка зачастую подразумевает довольно запутанный алгоритм с точки зрения логической. И просто написанный код перестает быть простым для понимания. Такой вот парадокс.
@user-cy1mz4om5w
@user-cy1mz4om5w Год назад
@@alexperemey6046 Когда он занимает тысячи строк? А бывает и больше - я видел 16К только на форме. Оченама сложный там у этой формы интерфейс, видимо. Что в этом прекрасного-то? Я не нанимался днями и неделями читать детские каракули. ))) Сложная задача требует сложной структуры абстракций. А когда кодеры в такое не могут - они и начинают гнать строку. Решая задачу в лоб - то есть по принципу, "что вижу, то пою". Куча тупорылых циклов и условий в общем. Скопипасченных много раз с небольшими изменениями для разных вводных. Огромная, почти бесконечная куча - уснешь на первой трети уже. И иногда у них это, к сожалению, даже работает.
@Mike-hp3fh
@Mike-hp3fh 4 года назад
Для меня критерий хорошего кода один - этот код эволюционировать, т.е. его можно быстро менять перенастраивать, масштабировать. Все остальное не так важно, т.к. все остальное можно легко исправить. А написать такой код, который можно легко менять в соответсвии с новыми задачами - довольно сложно даже опытным программистам.
@bubendancer7210
@bubendancer7210 4 года назад
Зависит ли ЗП программиста и возможность его трудоустройства от возраста. Есть мнение, что возраст за 40 для программиста в странах СНГ уменьшает шансы рассмотрения его кандидатуры на вакансию и уменьшает уровень ЗП даже при наличии у него большего опыта. Так ли это?
@user-oc6mf3vc2v
@user-oc6mf3vc2v 4 года назад
Серега - ты отличный ментор)))
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
скорее все-таки блогер :) Ментор я так себе
@AlexAlex-jk2tn
@AlexAlex-jk2tn 3 года назад
Спасибо за советы, вроде хорошие, но не ко всем языкам применимы, например C++ я не нашёл единого стандарта кодирования, у всех свой стандарт, кто-то использует гугловский стандарт, кто-то косит под STL и не понятно будет для начинающих программистов какой же стиль всё таки предпочтительный.
@zena2405
@zena2405 3 года назад
Помню еще в школе, в мохнатых 80-90 гг, я заметил, что бейсик на корветах нормально запускает программы без пробелов.. Пишешь чтото типа: fori=2toa
@Roman_Ogorodnikov
@Roman_Ogorodnikov 4 года назад
Захожу на канал, чтобы с удовольствием послушать рассказчика! 8) По теме. Еще немаловажный эффект оказывает владение темой, на которую пишется код. Даже гений не сможет понять смысл кода, если он не в теме и код для него будет Г.
@alexperemey6046
@alexperemey6046 Год назад
Как раз наоборот, через качественно написанный код он познакомится с темой. Другое дело, что если в коде будет ошибка бизнес-процесса, он ее конечно не увидит. Поскольку не владеет процессом и не знает, как он правильно должен работать.
@Mike-hp3fh
@Mike-hp3fh 4 года назад
Я бы еще добавил, что до сих пор нет ни одного стека технологий, который бы позволял написать простое продаваемое приложение без говнокода или кучи костылей. Но технологии развиваются и возможно скоро будут изобретены инструменты которые пройдут этот критерий. И тогда, навреное, можно будет сказать что программирование - это просто. Потому что основная сложность программирования сейчас - это как написать казалось бы простую вещь без костылей.
@YKovalenko
@YKovalenko 4 года назад
Сколько же боли сейчас было про кнопочку :'( Когда люди собирают простой лендинг на ангуляре, это вызывает адовое количество боли в саппорте :(
@AkkayHT228
@AkkayHT228 4 года назад
Yaroslav Kovalenko потому что на начальном этапе была плохо проработана архитектура лэндинга, либо не уделили этому достаточно времени
@YKovalenko
@YKovalenko 4 года назад
@@AkkayHT228 я боюсь, что тут немного проще =) Тот лендинг не нуждался ни в Laravel, ни в Angular, но если продать такой стек, выйдет дороже =) Вот и всё, а то что потом почти невозможно саппортить такие проекты, это уже совершенно другой вопрос
@ni55an
@ni55an 4 года назад
Мы им дали компоненту архитектуру, а они копипастят шаблоны (фс) многие фронтенд фреймворки
@drovoseg
@drovoseg 4 года назад
@@YKovalenko лендинг на Laravel это конечно зря, надо было делать на Java EE
@alexperemey6046
@alexperemey6046 Год назад
Потому что саппорт не знает ангулар. Другой причины я придумать не могу, почему фреймворк может вызывать боль на простом лендинге. Я понимаю, почему он может вызывать боль на сложном проекте, где вылезают его недостатки и недоработки. Но боль на лендинге?
@user-pn8vw8rr3m
@user-pn8vw8rr3m 4 года назад
Сергей, а есть у вас курсы по чистому коду ?
@_Mikekkk
@_Mikekkk 4 года назад
Меня научил писать хорошо форматированный код мой приятель лет так 25 назад. Когда я гордо ему показал работающую программу на паскале или бейсике но она была написана в одну строчку здоровым слипшимся куском текста. :)) Он посмотрел и сказал - что это за херня, ничего не понятно. И я призадумался. С тех пор пишу с четким форматированием, осмысленными именами переменных и комментированием всего. Потому что на задворках всегда мысль - а ведь это кто-то может потом читать и будет ли ему понятно.
@alexbozhko72
@alexbozhko72 4 года назад
Кроме читабельности есть ещё несколько критериев качества кода. Масштабируемость, производительность, требовательность к ресурсам. Это вещи, казалось бы очевидные (на первом курсе учат), но частенько приходится подумать как все это увязать.
@AkkayHT228
@AkkayHT228 4 года назад
Alexander Bozhko масштабируемость это уже про чистую архитектуру, а не про чистый код, то же самое с оптимизациями, но чистый код лучше производительного)
@alexbozhko72
@alexbozhko72 4 года назад
@@AkkayHT228 Это следует из того, что разработчики матеряться громче юзеров? ;)
@ismeretlenukendt7883
@ismeretlenukendt7883 4 года назад
О бож это так мимимишно!!!
@user-st2vg7nk7n
@user-st2vg7nk7n 4 года назад
Исходя из опыта, любой код = говнокод в той или иной степени. Причем один и тот же код в один момент времени для одного говнокод, для другого - совершенство. Тут очень много субъективщины. Как минимум в команде нужны правила, т.к. общепринятые правила имеют кучу допущений, и даже меняются. Пример - приватные поля класса в С#.
@kirillsushilnikov9614
@kirillsushilnikov9614 4 года назад
Сергей очень крут.
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
спасибо :)
@_Ivan_B_
@_Ivan_B_ 3 года назад
8:24 Когда читаешь старые сообщения в фейсбуке или еще где то.
@jurybounackoff3025
@jurybounackoff3025 4 года назад
"И Ваш код никогда не заслужит название говнокода". .Ну Фоооокс))) Ситуация простая, каждый раз когда ты срочно в угоду заказчику делаешь костыли нужно просто ставить тэг: "Guanocode" .. и раз в неделю рефакториться. Совсем не писать говнокод заказчик скорее всего не позволит. Ну или недостаточно квалифицированные РП, работающие с заказчиками.
@karelalex
@karelalex 4 года назад
Я тут на одном проекте пытался делать инъекцию говнокода , но старшие товарищи мешали, зато уже опытным проггерам не мешал никто, и они этим не часто, но регулярно пользовались. Ещё там же забавно появлялось то, что компания всем подряд не оплачивала идею ультимейт (я за свои кровные купил), в ультимейт есть анализатор кода, который периодически выдавал варнинги типа: твоя переменная будет всегда false, можешь не проверять. Или друг, ты же тремя строчками назад проверял на null, зачем ещё раз?
@dann1kid
@dann1kid 4 года назад
что за ультимейт?
@karelalex
@karelalex 4 года назад
@@dann1kid IDEA за денежку.
@Konstantin_Terletskiy
@Konstantin_Terletskiy 4 года назад
Да, вот я всегда стараюсь свой код делать понятным, если это Java, ещё и внятный Javadoc делать к нему. А иначе потом сам недели через две посмотришь и "блин, а зачем вот это?". Не говоря уж о других программистах, которые могут этот код потом пытаться понять.
@KlinovAS
@KlinovAS 4 года назад
))))) Видал)))) Одна строчка кода и два абзаца комментария)))))))))))) Вышла такая поэма на 9 этажей)))))
@ottercoder
@ottercoder 4 года назад
Хорошо настроенные линтеры и код-ревью отлично помогают от говнокода
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
Это видео не о том, а объяснение новичкам - что же это такое
@ottercoder
@ottercoder 4 года назад
@@SergeyNemchinskiy как его избегать будет отдельным видео?)
@sergeyshramko4200
@sergeyshramko4200 4 года назад
Спасибо.
@maxlich9139
@maxlich9139 4 года назад
01:51 ха, сейчас работаю в фирме, и много проектов пишем с нуля. легаси мало и ими никто не занимается. в будущем скорее всего их перепишем на новых технологиях
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
это не джава, я так понимаю?
@maxlich9139
@maxlich9139 4 года назад
@@SergeyNemchinskiy джава
@DK-fg8sl
@DK-fg8sl 4 года назад
Говнокод - это сленг у программистов, этого достаточно для новичков, когда я начинал в вебе, я многого не понимал в коде, чужих проектов, при этом написаны они были не плохо, просто мой уровень знаний не позволял понять этого. Спустя какое то время, я оценил чужой код, и понял, что он простой и понятный. Поэтому не переживайте, если ваш код считают гавном, просто старайтесь и делайте свой код лучше и лучше. Пределу совершенства нет для кода, его можно всю жизнь делать идеальным=)
@user-zl9bb7po6b
@user-zl9bb7po6b 4 года назад
Сергей, расскажите, пожалуйста, о salesforce разработке. Что это и с чем его едят. На сколько перспективно с этим связываться, ваше мнение. Это ж вроде к java относится. Спасибо заранее!
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
Я уже рассказывал, вот тут: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-KzRseRw6Y_U.html , но пожалуй еще раз расскажу
@VitaliyNET
@VitaliyNET 3 года назад
Жиза) Все верно сказано. Возвращаюсь к своему коду и WTFакаю .... who did this щет)))) А потом, ой этой был я со своей супер-пупер неразширяемой архитектурой.
@ni55an
@ni55an 4 года назад
Последнее время стал постоянно придерживаться позиции, что код должен выглядеть близким к человеческой речи. Читая код должно быть сразу понятно как это работает (с учётом того, что читатель разбирается в предметной области). Тогда такой код можно значительно быстрее модифицировать
@SecretYouTubeAgent
@SecretYouTubeAgent 4 года назад
Согласен. Код он словно книга или небольшой рассказ. Иногда читаешь, и хочется воскликнуть "ай, как славно написано!"
@natty55555
@natty55555 4 года назад
Абсолютно согласен. Только некоторые критические участки приходится оптимизировать (по скорости) и тогда ясность страдает, но обычно стараешся комперсировать комментариями
@user-vf8vh5xq9f
@user-vf8vh5xq9f 3 года назад
Сергей, сорян за оффтоп) На канале находил видео, которое отложил на посмотреть позже и потерял, теперь найти не могу. Прошу помочь. Видео было связано с проблемой начинания ч-л и рассматривалась методология преодоления этой проблемы.
@user-pn8vw8rr3m
@user-pn8vw8rr3m 4 года назад
Говнокод - это когда "WTF-метр" зашкаливает у ревьювера.
@fermidist
@fermidist 4 года назад
Было бы очень круто, если бы на каждое предложение "у нас на канале есть видео..", в углу видоса была бы на него ссылка
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
Было бы круто :) Надо заняться
@vahivsky
@vahivsky 3 года назад
Говнокод - это код который сложно поддерживать, он не обязательно сложночитаемый. Например, если в коде полно копипейста - в нём можно легко разобраться, но при поддержке придётся менять одну вещь в 10 местах. И наоборот, если в общий метод выносится то, что общим быть не должно - любые правки этого метода будут вызывать баги в неожиданных местах. Вот пара примеров говнокода в копилочку :)
@WolfzPain
@WolfzPain 4 года назад
немного решает проблему codacy (и прочие сервисы проверки залитого кода) и так же прекоммит стайлеры.
@alexanderbelov6892
@alexanderbelov6892 4 года назад
Это не тот, что ругается на delete p; printf("%P ", p); ? Какое им дело до invalid pointer p? Такие тулы глубоко копать не станут. Часто ругают что-то очевидно не по делу.
@dmitrikomarov2484
@dmitrikomarov2484 4 года назад
спасибо
@dencelman
@dencelman Год назад
👍
@nochnoy_kot
@nochnoy_kot 3 года назад
у говно кода есть история возникновения. какой-то важный иностраный тип стоявший у истоков - чем-то занимался. и не знал как правильно назвать определенное явление. у него родились дети. и он какбы "не такой код" сравнил с "детскими фекалиями", "вонючими пеленками" +- Без явной говно-агрессии. А в последствии когда оно вращалось в комьюнити на какой-то конференции - они это исказили до говно кода. Изначально это типа "smell " - ну короче плохо пахнет, а также "детский код"
@user-db8ny4nk8l
@user-db8ny4nk8l 4 года назад
Здравствуйте, Сергей. Можно тупой вопрос? Что вы думаете насчёт будущего php?
@homo-ergaster
@homo-ergaster 4 года назад
Ничего хорошего он не думает. Он уже говорил в другом видео, что PHP - это язык для написания плагинов к WP.
@YKovalenko
@YKovalenko 4 года назад
Да нормальное будущее. Все известные фреймворки будут жить ещё максимально долго. Например laravel и symfony или же YII2, всё так же востребованы весьма на рынке.
@user-db8ny4nk8l
@user-db8ny4nk8l 4 года назад
@@YKovalenko интересно его мнение
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
Запишу видео :)
@user-db8ny4nk8l
@user-db8ny4nk8l 4 года назад
@@SergeyNemchinskiy буду очень ждать)
@stanislavkuzmin2611
@stanislavkuzmin2611 4 года назад
Расcкажи про Spring)
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
спринг - это куча разных фреймворков. Что про них рассказать?
@tatit188
@tatit188 Год назад
резюме: кто учится писать код - даже не пытайтесь, обгадят с ног до головы, потому что начальное условие входа в it - ты говнокодер. и только когда ты наберешься опыта ты сможешь так же гадить на голову остальным. действительно сообщество программистов мотивирует и поддерживает.
@AyzekUorren
@AyzekUorren 4 года назад
Попробуйте один метод, никогда не говорить про себя что код плохой ( даже когда это не так ), никогда не говорить что задача сложная и всегда искать замены слову сложная на немного трудная, смотрите потом на результаты, часто за многими замечаю, как преувеличивают проблемы и слишком долго их обсуждают, вместо того что бы решить. Если вернуться к коду, все очень просто, читаете TDD, 1. Пишите тесты 2. Пишите код 3. Запускаете тесты 4. Удачно поздравляю конец, нет, повторить 2 - 3 пункт до успеха. Тоже самое при рефакторинге. Любой такой код не будет страшен, когда он протестирован, а без тестов, вы можете сделать даже хуже.
@Rosko6nii90
@Rosko6nii90 4 года назад
Очевидно. Автор этот может рассказывать любую фигню и я буду это смотреть...
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
ахаха. так мило :)
@a.inozemtsev
@a.inozemtsev 4 года назад
Иногда ведь бывает непонятно, но совсем по другим причинам. Например неопытность
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
бывает, но чем понятнее написан код, тем легче его читать даже неопытному разработчику
@kobalt-tv-777
@kobalt-tv-777 4 года назад
А можно ли считать говнокодом, много лишнего кода, где можно было бы обойтись более коротким вариантом кода? Например банальное применение if/else, где вполне подходит switch (). Ну или я вот читал книгу по этой теме. Где рекомендуется чтобы в одном модуле было не более 25 строк (Идиально). Ну максимум до 50 строк в один модуль. Говорят, что это не только оптимизация, но и увеличение степень обслуживаемости кода. Читабельность.
@alekseyshibayev5243
@alekseyshibayev5243 4 года назад
Я свичи прошу переделать. Пиши так, чтобы читать было понятно. Пишешь 1 раз, читаешь 10.
@nickvirus9463
@nickvirus9463 4 года назад
Это из за того что Вы не часто начинали проэкты - ушли в преподавательство?
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
:) Это особенность джава энтерпрайз
@smert-chekistam
@smert-chekistam 4 года назад
Класс
@splcell
@splcell 2 года назад
Как вы чуваки любите все усложнять...
@mikech76
@mikech76 4 года назад
А мы ввели ещё термин - школокод)
@happywater7353
@happywater7353 4 года назад
Коэффициент WTF.., надо будет запомнить..
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
не я придумал :)
@alexanderbelov6892
@alexanderbelov6892 4 года назад
Когда я смотрю впервые на чужой код, я вспоминаю фильм Путь Карлито с горкой порошка на столе... Этот код надо не курить, его надо нюхать.
@robot_0121
@robot_0121 4 года назад
Гвлнокод хорошо понимает только твой IDE и больше никто. Буду жениться на IDE.
@MsSergey1313
@MsSergey1313 4 года назад
А как быть в случаях когда для сохранения производительности или экономии памяти приходиться жертвовать удобочитаемостью? Напр. запихать в одну переменную некоторое количество разных булевых значений чтобы не тратить байт на хранение только одного тру или фолс.
@user-tf5bs6de6z
@user-tf5bs6de6z 4 года назад
Некрасивый и дорогой финансовый код на Яве. В таких организациях это не воспринимается как говнокод - это кодстайл.
@JoeDoe-wr9bu
@JoeDoe-wr9bu 4 года назад
Это не экономия, это - говно. Я бы еще мог понять если бы у тебя проект был на СПП, который имел местами вставки из ассемблера (что сейчас уже не критично). Но то что ты описал - это говно. Давай угадаю: у тебя еще и работа есть где ты числишься перспективным разработчиком?:)))))))))))))
@MsSergey1313
@MsSergey1313 4 года назад
Joe Doe то что я описал является весьма полезной вещью при программировании микроконтроллеров. Иногда без этого тупо нельзя обойтись. Например при передаче данных через радиомодули которые могут передать байтов очень мало (за некоторый промежуток времени). У меня кстати есть видос на канале про ардуино и радиомодули.
@JoeDoe-wr9bu
@JoeDoe-wr9bu 4 года назад
@@MsSergey1313 Для этой цели есть ассемблер , на худой конец с++. а то что делаешь ты - это говнокод.
@MsSergey1313
@MsSergey1313 4 года назад
@@JoeDoe-wr9bu В критичных местах среда позволяет это вставить а в остальных просто нет смысла заморачиваться. И обычно я свой код понимаю спустя много времени без WTF благодаря высокоуровневости большей части написанного. Как вы думаете что будет если всё писать на ассемблере? Насколько будет лучше и понятнее?
@user-wx6qp3em9f
@user-wx6qp3em9f 4 года назад
То что у вас в компании писали все по разному значит не было договоренности т е ревью не было Тим лид не о чем был
@user-cs6jq7re8z
@user-cs6jq7re8z 3 года назад
Красивые самолеты хорошо летают))
@sashaprokipchuk4185
@sashaprokipchuk4185 4 года назад
Сергей, здравствуйте. Я начинающий программист. На данный момент учу С++. Пока что пишу небольшие консольные приложения, где весь "проект" состоит из одного файла. И я не понимаю, как организованы настоящие проекты, как они работают... Не могли бы вы разъяснить разницу между консольными приложениями, и большими проектами?
@user-nu2jz1sb4s
@user-nu2jz1sb4s 4 года назад
Для начала доучите С++ :) Большой проект - много разных файлов и классов, сложные задачи и т.п.
@sashaprokipchuk4185
@sashaprokipchuk4185 4 года назад
@@user-nu2jz1sb4s ну вот, я понимаю, что много файлов ,но как они между собой связаны?..
@user-nu2jz1sb4s
@user-nu2jz1sb4s 4 года назад
@@sashaprokipchuk4185 Большую задачу невозможно решить без декомпозиции. Будь то на процедуры, на классы, на модули, на что угодно. Декомпозиция - разбиение большой задачи на более мелкие. Ну к примеру, вам нужно написать программу, в которую вводится много данных, потому по ним просчитывается какая-нибудь статистика, и выводится в виде графика. И, грубо говоря, в файле input.cpp у вас функции для ввода данных, в файле statistics.cpp - просчёт, в файле diagram.cpp рисуются диаграммы. И какой-нибудь файл main.cpp дёргает в нужное время функции из других файлов. Это очень грубо и упрощённо. Если возникают такие вопросы, значит вы ещё не дошли до таких разделов, как заголовочные файлы, компоновка и т.п., и видео эти вам пока смотреть рано. Эти видео Сергея для программистов, которые уже готовы устроиться на работу, хотя бы джуниором.
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
все верно, кроме того, что видео как раз и рассчитано на новичков, которые только начали изучать
@sashaprokipchuk4185
@sashaprokipchuk4185 4 года назад
@@user-nu2jz1sb4s Спасибо, будем изучать!
@pashaev81
@pashaev81 2 года назад
При словах "до финиша профессии" поперхнулся чаем. А разве это не та профессия, которая закончится с жизнью? Это же не пилот, или пожарный, где есть определенные физ. кондиции, без которых ты не можешь выполнять свою работу. А тут пиши код, пока не рипнешся, если конечно тебе твоя работа нравится. А если не нравится, то зачем вообще было идти в ИТ
@user-zp2nl5rb2g
@user-zp2nl5rb2g 2 года назад
*10 (говнокод) ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-vxXiyPgpT1Y.html #конспСНП 2- трудно прочитать и понять (по именам переменных и методов и классов - что они делают и для чего). 5- при обучении языку после изучения его конструкции найти методичку по правилам пользования языком (какими буквами называть элемены кода, их расположение, отступы и т.п.) по запросу "язык кодстайл".
@legomonsters6888
@legomonsters6888 4 года назад
Могу прислать много примеров 😉
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
вот уж нет :)
@legomonsters6888
@legomonsters6888 4 года назад
Сережа, пока ты здесь, в одном из видео ты рассказывал что у тебя на курсах первое тестовое задание непростое, можно пример какую прожку надо написать? Просто подумываю пойти учиться но не хочется приходить совсем лошарой😁так сказать сам оценю свои нынешние способности😉заранее спасибо
@legomonsters6888
@legomonsters6888 4 года назад
@@SergeyNemchinskiy обещаю без говнокода😁
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
@@legomonsters6888 развернуть слова, оставив на месте все не буквенные символы
@JoeDoe-wr9bu
@JoeDoe-wr9bu 4 года назад
@@SergeyNemchinskiy regex
@evgeny_5891
@evgeny_5891 4 года назад
Круто, как поставить 20-ть лайков?)
@YuriyRusinov
@YuriyRusinov 3 года назад
Интересно, но Теорию Относительности Эйнштейна понимали немногие, говорит ли это, что он плохой ученый :-)
@JoeDoe-wr9bu
@JoeDoe-wr9bu 4 года назад
Про говнокод есть другая более интересная тема: каждый раз когда в той или иной компании я встречаю существующий проект, то примерно в 90% это говнокод и у меня всегда лишь 1 вопрос: как люди пишущие это говно получали эти позиции, в то время как тебе приходилось хрен знает что сделать чтобы попасть туда.
@Anatoly555
@Anatoly555 4 года назад
А всё потому, что теория, которую рассказывают в видосах - это одно, а практика это совсем-совсем другое.
@iex32
@iex32 4 года назад
ситуация поменялась, теперь требования не БЫСТРО а КАЧЕСТВЕННО
@igoraleksandrovich1498
@igoraleksandrovich1498 4 года назад
@@iex32 Это где такое? В любой сфере заказчик хочет быстро, а на качество плевать.
@geghamkocharyan7473
@geghamkocharyan7473 4 года назад
Про WTF согласен))
@soul-snatcher225
@soul-snatcher225 Год назад
создал игру на Пайтон + библиотека tkinter, это был обычный кликер с прокачкой. буквально спустя пару месяцев, я решил заглянуть туда, что оказалось зря, короче там было такое дерьмище, плюс ещё и повторение кода. надеюсь вы знаете, что меня ждёт...
@user-ux7yu2kb4k
@user-ux7yu2kb4k 4 года назад
вижу говнокод ставлю лайк не смотря
@user-br1nt8tb9h
@user-br1nt8tb9h 4 года назад
Со всем согласен, но... Когда "...и заказчик-дурак тычет мышкой в картиночки гордо..." - от этого почему-то становится горько. К слову. Языки вроде Python и Ruby буквально принуждают к правильному оформлению кода.
@den_8451
@den_8451 4 года назад
А что делать если стоит выбор между производительностью и понятностью кода?
@antaki93
@antaki93 2 года назад
Время программиста стоит дороже времени компьютера. Железки сейчас достаточно мощные. Если это не какая-то особо требовательная задача или особенно слабое железо, то читаемость в приоритете.
@qweezique
@qweezique 2 года назад
Первая работа джуном - и я пишу микросервисы с нуля)
@kalyonee4565
@kalyonee4565 2 года назад
сейчас есть линтеры, которые помогут с кодстайлом
@user-il3cx7uq2t
@user-il3cx7uq2t 4 года назад
Здравствуйте. А комментарии превращают говно код в норм код?
@sergeyfamiliy2781
@sergeyfamiliy2781 4 года назад
Побежденные программисты должны писать программы на языке победителя!
@JoeDoe-wr9bu
@JoeDoe-wr9bu 4 года назад
индусский код - лучший пример говнокода! индус - лучший производитель говнокода!
@_off_road
@_off_road 4 года назад
Судя по лайкам ты походу говнокомент написал.
@sergZh78
@sergZh78 4 года назад
Я просто не обращаю внимания. Есть задача - исправить это, добавить то, вот тут. Делаю. Не получается иначе как костылём? Пишу костыль. Одним больше, одним меньше.. При этом понятия не имею как программа работает в целом. Т.к. это ведомо только тем, кто все это писал. А их судя по коммитам было с десяток.
@mamky_ebal2003
@mamky_ebal2003 4 года назад
Методики обучения на шарпах плиз
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
в смысле? Нашу учебную программу? Она на сайте
@LayronPK
@LayronPK 4 года назад
Задам вопрос всем шарящим. Я молодой программист, учусь на магистратуре, за плечами 4 года бакалаврата и пару-тройку языков программирования на каком-то уровне. Уже вроде пора и на работу, но без опыта никуда не берут, поэтому пришлось идти не куда хочу, а куда возьмут. Ну и попал в компанию которая разрабатывает на делфи. Задачи не сильно интересные, но в качестве опыта неплохо. Так вот спустя пару месяцев понял чего хочу сейчас: в геймдев. Но сначала нужно хотя бы годик наработать и выучить нужный язык... А нужный это какой? На чём сейчас пишут геймдевелоперы? Слышал раньше что на плюсах... Только не кидайтесь помидорами пожалуйста.
@SergeyNemchinskiy
@SergeyNemchinskiy 4 года назад
да,в основном на плюсах, если говорить о 3д играх. А если казуалки, то на чем только не пишут. Вот на юнити (си-шарп) например
@razorprod4097
@razorprod4097 4 года назад
Кроме языка в геймдеве надо хорошо знать движок на котором будешь прогать, потому что он напрямую влияет на твой код. В каждом движке есть свои особенности которые нужно учитывать при написании кода. Одного языка будет недостаточно, это мягко сказать.
@Zyozikexclusive_ZX
@Zyozikexclusive_ZX 4 года назад
Из комнаты не издавалось ни одного WTF. Он подумал : " я написал офигенный чистый коТ" ))) Но в комнате , открыв редактор кода, программист мгновенно умер от такого Говно-кода.
@IPWchild
@IPWchild 4 года назад
Это конечно хорошая мысль, что говнокод - это код, который трудно понять другому человеку. Но тогда возникает вопрос - какому конкретно человеку? Новичку обычно вообще ничего не понятно, и вряд ли он может справедливо весь чужой код называть говнокодом. Следовательно, должна быть какая-то граница, переходя которую программист обретает моральное право более-менее справедливо классифицировать тот или иной код как говнокод. Дальше, другая ситуация - уважаемый программист не первый десяток лет в профессии, считает себя слишком опытным и достаточно крутым, чтобы не учить паттерны. И вот однажды он видит код более молодого специалиста, который применяет паттерны, не понимает этот код и называет его говнокодом. Опять какая-то не очень адекватная оценка выходит... Получается, хоть "говнокод" и относится к вкусовщине, должны быть какие-то хотя бы минимальные требования к эксперту, который оценивает код и выносит этот вердикт. И тогда мы переходим к еще одному каверзному вопросу - кто имеет моральное право составить список требований, которым должен соответствовать эксперт? Вот и получается, что вроде как говнокод и существует, а на деле это сферический конь в вакууме. Вот есть паттерны, и все согласны, что они полезны и удобны. А удастся ли кому-то написать книгу о говнокоде, с конкретными примерами, да такими, чтобы ни у одного читателя не возникла мысль "а чего, нормальный же код, он имеет право на жизнь"?
@pro_cap
@pro_cap 4 года назад
Не первый десяток лет в профессии, и не смог оценить паттерн? Вы вообще паттерны видели? Они как бы полностью состоят из базовых концепций ООП, если программист работал 10 лет и не смог понять паттерн, то он работал с Excel. Другой вопрос - а уместно было вообще его использовать? Если молодой программист перегрузил код, напихав туда бездумно паттерны с фреймворками, то это и будет говнокодом. Применение любого кода должно быть прежде всего УМЕСТНО, а иначе стрельба себе по ногам.
@andrewvsk2368
@andrewvsk2368 4 года назад
Попробуйте чистый C. Не C++, а именно C. Если втянитесь, внезапно окажется, что 90% "современных" приёмов - бесполезное дерьмо, только усложняющее код и тормозящее его работу сотнями дебильных переадресаций, и где брутально-тупой конечный автомат решил бы проблему в разы проще и быстрее. Сам сейчас присматриваюсь к Rust, хотя он медленно взлетает.
@kardashevr
@kardashevr 4 года назад
@@andrewvsk2368 за растом будущее. только пока не очень понятно, как далеко это будущее находится
@andrewvsk2368
@andrewvsk2368 4 года назад
​@@kardashevr далеко, + не факт что за Растом будущее. Rust хороший язык, но он не очень хорошо интегрируется с C. C живёт вовсе не потому что это самый быстрый язык (не считая нативного ASM), а потому что это самый простой язык и эффективный язык. + Когда человек пишет на C достаточно сложную программу, он автоматически реализует многие устоявшиеся паттерны проектирования из ООП. В C нет наследования, все абстракции реализуются композициями из структур и функций. Сокрытие создаётся средствами языка: правилами области видимости. Фабрика - это неотъемлемая часть даже маленькой программы на C, т.к. нам нужно всегда правильно создавать и удалять структуры данных. В результате человек, пишущий на C вообще никогда не допустит тех ошибок, с которыми могут столкнуться программисты на Java, при этом Java декларирует высокую скорость разработки! Высокая скорость только там, где ПО можно собрать из встроенного говна. В противном случае C эффективнее. И кстати ещё об ООП - C++, Java, C# - это НЕ ООП. Ни в одном языке не реализуется парадигма "всё объект", а отправка сообщений реализуется не средствами языка, а средствами костылей. Сами языки, если убрать всё лишнее просто надстройка над обычным императивным методом программирования, некоторые из которых скорее даже вредны! Например, в любой книге по паттернам очень критикуется Наследование, а ведь это один из столпов ООП (в отличие от инкапсуляции и полиморфизма, которые ООП просто присвоило себе, полиморфизм есть в любой большой программе! его можно реализовать на С, причём даже несколькими способами! (определение типов или указателями на функцию). В C# наследование используется ради перегрузки методов, ради последующего полиморфизма (и даже это не всегда хорошая идея) (это могут быть интерфейсы или абстрактные классы). Другое применение наследования уже вообще гарантировано создаёт говнокод. То есть как всегда: придумали, пропиарили, написали эксабайты говнокода, а теперь думаем что с этим делать.
@user-pn1hh8ez7e
@user-pn1hh8ez7e 4 года назад
Есть куча книг как не писать говнокод, например Code Complete.
Далее
The right decision came to mind #comedy
00:12
Просмотров 421 тыс.
ЛИПЕР ДЛЯ ТЕЛЕФОНА 🤯
00:59
Просмотров 577 тыс.
Что такое Git? Зачем он нужен?
14:30
Правильные методы по Clean Code
28:29
Как работает C/C++?
26:51
Просмотров 219 тыс.