*Однажды злодеи решили украсть мой код, но не смогли его прочитать. Один сразу выпрыгнул в окно, второй успел выколоть себе глаза.*
@alexanderbelov68924 жыл бұрын
Однажды в США автоугонщики хотели угнать автомобиль с ручной коробкой передач. Но не смогли понять, как работает ручная коробка передач. Пришлось ретироваться.
@Tyn4tyk3 жыл бұрын
@Олег Сухетский меньше бы таких как вы)) простое делаете сложным
@TheGloriousRussian3 жыл бұрын
А третий всё время повторял WTF
@rammix12 жыл бұрын
@@TheGloriousRussian *А третий с тех пор непрерывно повторяет WTF.
@_WingCommander Жыл бұрын
Вполне тянет на статью "доведение до самоубийства", аккуратнее 😁
@eugenedukatta93555 жыл бұрын
Почему в очень многих резюме есть ГОВНОтребование: "Умение понимать чужой код" ??? Но я ни разу!!! не встречал требование "Уметь писать код так, чтобы его понимали другие" ?
@АндронныйКоллайдер-ф5щ5 жыл бұрын
Потому что приехав в Китай тебе придется понимать по китайски, а не переучивать всех говорить по русски. А если ты не способен прочесть код в котором скобочки пробельчики не так расставлены как ты привык, то пойди купи себе букварь и научись наконец читать.
@damirgarifullin68775 жыл бұрын
У JetBrains есть в вакансии такое: "Умеешь проектировать и писать код, который легко читать и поддерживать."
@ivansidorov55 жыл бұрын
советую не идти в такие конторы. история там была скорей всего такая: очередной умный оптимизитор менеджер-начальник решил экономить и нашел джуниора который сделал какашку за 20 000 рублей в месяц за 1 год, а теперь ищут тебя, который эту какашку будет поддерживать
@damirgarifullin68775 жыл бұрын
@@ivansidorov5 в jetbrains?
@ivansidorov55 жыл бұрын
@@damirgarifullin6877 Да в любое место , где пишут что нужно умение читать чужой код. Любйо человек умеет читать чужой код, но этим собщением они готовят к говнокоду, потому что какой-то умный начальник до тебя нанимал чухана за 10 000 рублей и он там наговнокодил, если бы изначально наняли норм программиста за 250 000 рублей то говна бы и не было в проекте
@purplep34665 жыл бұрын
Согласен с автором, но все же, иногда нужно насрать, чтобы вырос цветок
@Сергей-к3у7е5 жыл бұрын
Ты сделал мой день ))
@СергейКолобаев-л4ь4 жыл бұрын
Это ты про удобрение?))))
@alexanderbelov68924 жыл бұрын
Скорее так: если у программиста есть столько времени, чтобы написать идеальный код, то вероятно его компания движется к банкротству, так как их конкуренты уже выходят на рынок с говнокодом.
@KlinovAS4 жыл бұрын
По этому в Пайтоне срать нужно очень акуратно, а в СосиДваПлюса или Джузи можно одной длинной
@vasilymaestrovs95465 жыл бұрын
Вчера я делал ревизию своего первого андроид-проекта. Который писал еще в 15-16м году. И я понял, что такое говнокод ))
@inbuckswetrust73575 жыл бұрын
теперешний лет через 5 посмотришь ;)
@MrSumkinFedor5 жыл бұрын
Радуйтесь - ведь это значит, что вы выросли в профессиональном плане.
@artyomb74245 жыл бұрын
Порой смотришь в код месячной давности, а там такая жуть и ты не понимаешь зачем ты это написал)
@liamsmith70524 жыл бұрын
Я свой первый андроид-проект переписывал 3 или 4 раза. Там просторов для косяков уйма, это да.
@alexanderbelov68924 жыл бұрын
Я могу сделать ревизию своего кода, который писал для себя 20 лет назад, и сделать вывод, что это не говнокод, хотя его можно было бы спроектировать лучше (сейчас я это понимаю чуть лучше), и я этот код всё еще понимаю. Но также понимаю, что его больше никто не поймёт, так как он содержит алгоритмы, чьё описание в книге я перечитывал несколько раз, чтобы начать понимать их. А понять эти же алгоритмы глядя в код просто невозможно - тяжёлая математика. И то что этот код никто не поймёт при любом способе написания и стиля - гарантированно. Но всё равно это не говнокод, а некоторое отсутствие документации, квалификации читающего, и т.п. Если бы я читал чьи-то алгоритмы из области генетики, то я бы также вряд ли что-то понял, но не потому что передо мной говнокод. Так что понятие говнокода относительно, и не определяется количеством WTF, а скорее временем и усилиями, которые читатель хочет потратить на изучение кода. Не хочет - говорит постоянно WTF, и объявляет всё говнокодом. Совершенно не корректный критерий.
@man-jj7rc5 жыл бұрын
После просмотра 20 роликов Немчинского стал senior Java developer, Очень годно.
@SergeyNemchinskiy5 жыл бұрын
серьезно? :)
@ni55an5 жыл бұрын
А коллеги и руководство в курсе? 😃
@cupon88695 жыл бұрын
лох, я президентом стал уже после 8го ролика
@Dmittry5 жыл бұрын
Я после 5-го ролика познал дзен и ушёл в тибетский монастырь.
@Max-kr4ie5 жыл бұрын
Я после первого ролика посмотрел второй. А чего добился ты ?
@tsoier5 жыл бұрын
x -= -1
@SergeyNemchinskiy5 жыл бұрын
вот именно :) Даже я завис секунд на 5. Не надо так :)
@ЮрийКарпов-э3ч5 жыл бұрын
Ништяк. Буду теперь так инкрементить)
@VIlyaM1085 жыл бұрын
Это, типа, лайк поставил?
@SlavikUkraine5 жыл бұрын
@User 1 это операция прибавления единицы к переменной х, только замысловатым и нецелесообразным способом( иначе говоря, через задницу) .
@SlavikUkraine5 жыл бұрын
@User 1 Ты , походу , не понял мой предыдущий комментарий , как и то , что должен был делать тот код. "Х -= -1" это равносильно тому, если бы ты написал x = x - (-1) т.е. по правилам математики х+1. Оператор -= это аналог X=X -... . Ты же написал про какую-то ерунду , к тому же в левой части у тебя должна стоять переменная. Т.е. Х . Никаких -Х , 2Х и т.д. + ко всему этому , ты пишешь почему не -х= -1. Да потому что в первом случае мы отнимаем минус единицу( прибавляем единицу), а твоя запись ( по крайней мере, так подразумевалось) делает Х постоянно равной 1
@dimapetrashchuk30365 жыл бұрын
Говнокод это не только плохой кодСтайл или нечитаемый код, а и вполне красивые и читаемые костыли)
@webget15965 жыл бұрын
Кстати да, очень бесит когда можно решить саму проблему довольно немножко переписав код, но программист решает просто дописать к ней костыль, а в будущем из-за этого костыля приходиться переделывать пол проекта))
@SergeyNemchinskiy5 жыл бұрын
да, безусловно. Но это по правилу Паретто
@andrewvsk23685 жыл бұрын
То есть почти все паттерны проектирования xD. Модели событий, делегаты и прочие модные фишки). События в Сишном стиле более прямолинейны, зато любой поймёт код. В C# в достаточно сложной программе запрос идёт через дохрена интерфейсов и эвентов, но это называется разумным кодом. Любой open source проект на C читается вообще без проблем.
@maxlich91395 жыл бұрын
@@webget1596 не мы такие, жизнь такая)))
@KoCMoHaBT614 жыл бұрын
@@andrewvsk2368 Вот прямо 146% попадание. Наплодила банда четырёх "жабапрограммистов со знанием паттернов", теперь для того, чтобы два числа сложить они пишут фактори, делегаты, эвенты... А ещё где-то есть тайная книжка, которое плодит программистов однострочных функций: Read->ReadNumber->ReadNumberFromFile->ReadNumberFromTextFile->ReadNumberFromUTFEncodedTextFile.
@1981leks5 жыл бұрын
Любой чужой код говнокод. И даже свой код годичной давности и дальше тоже говнокод.
@mmospanenko5 жыл бұрын
Годичной?) Возможно на джавах, но вот в чем-то более живом это в неделях и днях может измеряться) я часто ловлю себя на мысли что перед тем как ругаться лучше сразу посмотреть в гит блейм - там часто я, и не всегда несколько лет давности))
@andrewvsk23685 жыл бұрын
Не всегда и сильно зависит от языка. Например, на чистом C если не выделываться и работать с умом получается код на века. При этом любой проект на Java (который согласно пиар-компании должен упрощать код) превращается в дерьмо очень-очень быстро. Причём ООПшники порой полные неадекваты, задачи, которые решаются в 500 строк кода в одном файле они решают создавая дохрена классов и интерфейсов, реализуют паттерны (смысл которых чаще НЕ понимают, чем наоборот) и получается тормознутый монстр с массой потенциальных семантических ошибок). Это "добро пожаловать в реальный мир", на словах все идеально, на практике сами языки чаще способствуют порождению ПО из натурального дерьма.
@eduardczuwak83944 жыл бұрын
Seregi? ja seregi kod ludshe dazhe ne verstaju...zabyl, napisal na novo..poreshaesh srazu kuchu zadacz.
@KlinovAS4 жыл бұрын
согласен. и английский язык тоже вонючее гавно. читается одно, а произносится другое
@alexsandrosipenko21825 жыл бұрын
Обожаю ваши видео. Очень мотивирующие и дающие не ИТ специалисту понять структуру в целом, а не только как быть гребцом на галере. Спасибо Вам огромное))
@СвятойМармеладник4 жыл бұрын
когда я однажды делаю проект, я ликую над кодом за красоту и лаконичность спустя год почти у всех проектах код называю говнокодом, переделываю, снова ликую за касоту и лаконичность и так циклически
@SergeyNemchinskiy4 жыл бұрын
отлично, значит - растете
@lynx65115 жыл бұрын
Помнится, надо мне было внести изменения в код дипломной работы на C++/Qt, которую писал весной прошлого года. Первые часа два я не мог понять, что там происходит и под чем я был, когда писал этот код. Изучение джавы дало неплохой толчок по ООП и вообще, как всё должно быть. Теперь я пишу говнокод, но уже не настолько дурно пахнущий. :)
@WolfzPain5 жыл бұрын
Встречаю такую тему, что многие усложняют себе задачу или лепят весь код в один метод отчасти и на это есть проверки, но обычно такие (на размер метода) правила отключают. Короче KISS пацаны)
@RUS4HELP5 жыл бұрын
Вы самый топовый ментор! И умный и с чувством юмора!
@SergeyNemchinskiy5 жыл бұрын
спасибо!
@alexperemey60462 жыл бұрын
Я сейчас читаю книгу Элеонор Остром "Управление общим". Там описана интересная проблема, при которой все вроде и понимают, что нужно "делать правильно" и так будет "лучше для всех" в конечном итоге. Но никто не делает, поскольку "будет лучше" только в том случае если так будут делать все. А если не все, то больше всех пострадает тот, кто все же делает правильно. И мне кажется, что в вопросе "говнокода", который все осуждают и все равно пишут, эта идея тоже много объясняет. Чтобы написать код "понятный для других" зачастую нужно банально больше времени уделить его архитектуре, доводке, даже названия переменных возможно подберешь не с первого раза. Это лишняя работа и лишнее время. Которое сохранит время того программиста, который будет саппортить код после тебя. А оно ТЕБЕ надо? Особенно если учесть, что времени всегда не хватает и все такое, ведь начальную версию продукта нужно выпустить как можно быстрее. Это уже потом, когда продукт начал приносить прибыль, можно на эту прибыль жить и не спеша вылизывать код. Вот и получается, что ВСЕГДА проект пишется на говнокоде. А уже потом, возможно, будет поставлена задача привести код в порядок. Когда уже "все работает" и есть время перевести дух. Задачу эту возможно будешь ты и решать (хотя ты от своего говнокода страдаешь меньше и понимаешь его лучше), а возможно, ее будет решать уже кто-то другой.
@Konstantin_Terletskiy5 жыл бұрын
Во-во. Очень знакомое ощущение. Смотришь свой же код двух-трёхмесячной давности и думаешь иной раз, что да, сейчас я уже так не написал бы. И да, в программировании развиваться надо непрерывно. А то как получается, первые свои программы я писал, помню, для персоналки Hewlett-Packard 85 ещё в 1982 году. Там ещё операционки не было даже, просто Бейсик-монитор встроенный. И всё. А потом МИФИ, студент факультета Кибернетики. А там у нас вообще к старшим курсам было так - ну чего? Новый язык изучить? Паскаль у нас там не читали, Си не читали, сами брали книжку и изучали. Потом C++, потом уже в Штатах фирма послала всех своих программистов на недельные курсы основ Явы. Основы дали, дальше опять сами. И сейчас всё сами. А так что, на уровне 1982 года застрять, что ли? Нет, программирование и хорошо именно тем, что постоянно требуется развитие. Застрял - всё. Специфика профессии.
@serggio888885 жыл бұрын
ну как же приятно Серея слушать)
@SergeyNemchinskiy5 жыл бұрын
пасиба :)
@malikvalley5 жыл бұрын
Серей это кто? (Who?)
@rambler92494 жыл бұрын
@@malikvalley это деепричастие
@akiloci21985 жыл бұрын
08:50 а если Вы видеоблогер, и не развиваетесь, меняйте профессию)) Это я к тому, что поначалу критиковал ваши видео, но теперь они мне нравятся всё больше и больше))
@Dmittry5 жыл бұрын
У меня не говнокод! У меня обфускация! (Главное - правильный маркетинг.)
@SergeyNemchinskiy5 жыл бұрын
ахахаха
@andrewvsk23685 жыл бұрын
Любой проект на C# или Java - это обфускация). Никто даже о декомпиляции не парится никогда, т.к. читать этот говнокод - неблагодарное дело. Это по определению write-only. Это одна из причин, почему чистый C до сих пор жив и жив будет и почему даже современные либы пишут именно на C. В защиту C# (на Java не пишу, но та же фигня) - быстрота и удобство на первых порах. То есть очень круто прототипировать приложения, которые почти сразу будут работать, т.к. дофига инструментов доступны из коробки и чаще работают, чем нет), но поддерживать код на C# - это ХУЖЕ, чем поддержка бородатого сишного кода стандарта с89 c *бнутыми структурами данных и стилем.
@alexanderbelov68924 жыл бұрын
Dijkstra программирование - это программирование с использованием имён переменных d, i, j, k, s, t, r, a.
@Mike-hp3fh5 жыл бұрын
Для меня критерий хорошего кода один - этот код эволюционировать, т.е. его можно быстро менять перенастраивать, масштабировать. Все остальное не так важно, т.к. все остальное можно легко исправить. А написать такой код, который можно легко менять в соответсвии с новыми задачами - довольно сложно даже опытным программистам.
@iSonsaku5 жыл бұрын
Посмотрев это видео, я понял что нужно писать для себя и пробовать новые проекты реализовывать самому. Ковыряться в чужих гавно-кодах и работать за копейки добавляя функционал в говно. Просто шикарная перспектива.......
@xrollup5 жыл бұрын
"программирование - профессия где все время придется учиться", и вот это блин ни разу не аллегория или стеб. это, блин, так и есть.
@soversus53745 жыл бұрын
а что делать... языки совершенствуются и чаще в лучшую сторону. Так что это скорее плюс...
@МайкЛжец-ь6ж4 жыл бұрын
в основном в вебе и геймдеве, в остальных сферах все более-менее спокойно.
@vargvarg79223 жыл бұрын
@@МайкЛжец-ь6ж как жсер скажу, что нифига подобного, хрен бы сним что либы и фреймы совершенствуются постоянно, сам жс в 2015 году выкатил ес6, который неплохо так поменял подход
@_Mikekkk4 жыл бұрын
Меня научил писать хорошо форматированный код мой приятель лет так 25 назад. Когда я гордо ему показал работающую программу на паскале или бейсике но она была написана в одну строчку здоровым слипшимся куском текста. :)) Он посмотрел и сказал - что это за херня, ничего не понятно. И я призадумался. С тех пор пишу с четким форматированием, осмысленными именами переменных и комментированием всего. Потому что на задворках всегда мысль - а ведь это кто-то может потом читать и будет ли ему понятно.
@Roman_Ogorodnikov5 жыл бұрын
Захожу на канал, чтобы с удовольствием послушать рассказчика! 8) По теме. Еще немаловажный эффект оказывает владение темой, на которую пишется код. Даже гений не сможет понять смысл кода, если он не в теме и код для него будет Г.
@alexperemey60462 жыл бұрын
Как раз наоборот, через качественно написанный код он познакомится с темой. Другое дело, что если в коде будет ошибка бизнес-процесса, он ее конечно не увидит. Поскольку не владеет процессом и не знает, как он правильно должен работать.
@Mr430467215 жыл бұрын
Большое спасибо за видео. Мотивируете писать код вместо просмотра котиков на работе)))
@DK-fg8sl5 жыл бұрын
Говнокод - это сленг у программистов, этого достаточно для новичков, когда я начинал в вебе, я многого не понимал в коде, чужих проектов, при этом написаны они были не плохо, просто мой уровень знаний не позволял понять этого. Спустя какое то время, я оценил чужой код, и понял, что он простой и понятный. Поэтому не переживайте, если ваш код считают гавном, просто старайтесь и делайте свой код лучше и лучше. Пределу совершенства нет для кода, его можно всю жизнь делать идеальным=)
@МойПК-и6э5 жыл бұрын
Когда вы смотрите на свой старый говнокод, вы понимаете, что растете. Да, согласен. НО понятие "говнокод" работает также в режиме реверса: когда вы (например новичок) смотрите на чужой более продвинутый код - он также кажется вам говнокодом. Или, иными словами, если вы могли бы посмотреть на свой код В БУДУЩЕМ - он также показался бы вам говнокодом. Философия. Всё течет, всё меняется, а на самом деле все изменения - лишь иллюзия, всё неизменно от говна к говну...
@SergeyNemchinskiy5 жыл бұрын
ахахаха
@zena24054 жыл бұрын
Помню еще в школе, в мохнатых 80-90 гг, я заметил, что бейсик на корветах нормально запускает программы без пробелов.. Пишешь чтото типа: fori=2toa
@АлексейМеньшиков-э5ж5 жыл бұрын
Серега - ты отличный ментор)))
@SergeyNemchinskiy5 жыл бұрын
скорее все-таки блогер :) Ментор я так себе
@Mike-hp3fh5 жыл бұрын
Я бы еще добавил, что до сих пор нет ни одного стека технологий, который бы позволял написать простое продаваемое приложение без говнокода или кучи костылей. Но технологии развиваются и возможно скоро будут изобретены инструменты которые пройдут этот критерий. И тогда, навреное, можно будет сказать что программирование - это просто. Потому что основная сложность программирования сейчас - это как написать казалось бы простую вещь без костылей.
@YKovalenko5 жыл бұрын
Сколько же боли сейчас было про кнопочку :'( Когда люди собирают простой лендинг на ангуляре, это вызывает адовое количество боли в саппорте :(
@AkkayHT2285 жыл бұрын
Yaroslav Kovalenko потому что на начальном этапе была плохо проработана архитектура лэндинга, либо не уделили этому достаточно времени
@YKovalenko5 жыл бұрын
@@AkkayHT228 я боюсь, что тут немного проще =) Тот лендинг не нуждался ни в Laravel, ни в Angular, но если продать такой стек, выйдет дороже =) Вот и всё, а то что потом почти невозможно саппортить такие проекты, это уже совершенно другой вопрос
@ni55an5 жыл бұрын
Мы им дали компоненту архитектуру, а они копипастят шаблоны (фс) многие фронтенд фреймворки
@drovoseg5 жыл бұрын
@@YKovalenko лендинг на Laravel это конечно зря, надо было делать на Java EE
@alexperemey60462 жыл бұрын
Потому что саппорт не знает ангулар. Другой причины я придумать не могу, почему фреймворк может вызывать боль на простом лендинге. Я понимаю, почему он может вызывать боль на сложном проекте, где вылезают его недостатки и недоработки. Но боль на лендинге?
@bubendancer72105 жыл бұрын
Зависит ли ЗП программиста и возможность его трудоустройства от возраста. Есть мнение, что возраст за 40 для программиста в странах СНГ уменьшает шансы рассмотрения его кандидатуры на вакансию и уменьшает уровень ЗП даже при наличии у него большего опыта. Так ли это?
@memzo_getR3 жыл бұрын
Недели 2 назад начал изучать пайтон, писал простые коды по заданиям по курсам.. прошёл пару теорий, заданий.. решил закрепить материал и вернулся назад и заметил свои старые коды написанные в 5-10 строк и просто переписал их на более понятный лад и в 2-3 строки.
@standvik11592 жыл бұрын
как успехи в обучении?
@karelalex5 жыл бұрын
Я тут на одном проекте пытался делать инъекцию говнокода , но старшие товарищи мешали, зато уже опытным проггерам не мешал никто, и они этим не часто, но регулярно пользовались. Ещё там же забавно появлялось то, что компания всем подряд не оплачивала идею ультимейт (я за свои кровные купил), в ультимейт есть анализатор кода, который периодически выдавал варнинги типа: твоя переменная будет всегда false, можешь не проверять. Или друг, ты же тремя строчками назад проверял на null, зачем ещё раз?
@dann1kid5 жыл бұрын
что за ультимейт?
@karelalex5 жыл бұрын
@@dann1kid IDEA за денежку.
@Лучшеникакогознаниячемникакое5 жыл бұрын
К сожалению, существует способ сделать очень понятный код, но тем не менее WTF будет раздаваться при его чтении постоянно. Сделать код слишком длинным. То есть никакой универсальности, минимум абстракций - все вопросы решать тупо лоб и делать очень много копипасты. Такой код поймет даже школьник. Но почти любой программист оказавшись где-нибудь на 4056-й его строке, будет материться сильнее, чем от любой сложности говнокода. У меня сейчас как раз такая задача. Через неделю уже сдавать проект, а его явно писали дети. Сижу и часами читаю сочинения "как я провел лето". Это ужасно.
@alexperemey60462 жыл бұрын
Если код на уровне "как я провел лето" - это прекрасно. Просто задачи-то решаются сложные. И поэтому "решение в лоб" с точки зрения языка зачастую подразумевает довольно запутанный алгоритм с точки зрения логической. И просто написанный код перестает быть простым для понимания. Такой вот парадокс.
@Лучшеникакогознаниячемникакое2 жыл бұрын
@@alexperemey6046 Когда он занимает тысячи строк? А бывает и больше - я видел 16К только на форме. Оченама сложный там у этой формы интерфейс, видимо. Что в этом прекрасного-то? Я не нанимался днями и неделями читать детские каракули. ))) Сложная задача требует сложной структуры абстракций. А когда кодеры в такое не могут - они и начинают гнать строку. Решая задачу в лоб - то есть по принципу, "что вижу, то пою". Куча тупорылых циклов и условий в общем. Скопипасченных много раз с небольшими изменениями для разных вводных. Огромная, почти бесконечная куча - уснешь на первой трети уже. И иногда у них это, к сожалению, даже работает.
@агатакристи-г3ы5 жыл бұрын
Говнокод - это когда "WTF-метр" зашкаливает у ревьювера.
@AyzekUorren4 жыл бұрын
Попробуйте один метод, никогда не говорить про себя что код плохой ( даже когда это не так ), никогда не говорить что задача сложная и всегда искать замены слову сложная на немного трудная, смотрите потом на результаты, часто за многими замечаю, как преувеличивают проблемы и слишком долго их обсуждают, вместо того что бы решить. Если вернуться к коду, все очень просто, читаете TDD, 1. Пишите тесты 2. Пишите код 3. Запускаете тесты 4. Удачно поздравляю конец, нет, повторить 2 - 3 пункт до успеха. Тоже самое при рефакторинге. Любой такой код не будет страшен, когда он протестирован, а без тестов, вы можете сделать даже хуже.
@vahivsky4 жыл бұрын
Говнокод - это код который сложно поддерживать, он не обязательно сложночитаемый. Например, если в коде полно копипейста - в нём можно легко разобраться, но при поддержке придётся менять одну вещь в 10 местах. И наоборот, если в общий метод выносится то, что общим быть не должно - любые правки этого метода будут вызывать баги в неожиданных местах. Вот пара примеров говнокода в копилочку :)
@jurybounackoff30255 жыл бұрын
"И Ваш код никогда не заслужит название говнокода". .Ну Фоооокс))) Ситуация простая, каждый раз когда ты срочно в угоду заказчику делаешь костыли нужно просто ставить тэг: "Guanocode" .. и раз в неделю рефакториться. Совсем не писать говнокод заказчик скорее всего не позволит. Ну или недостаточно квалифицированные РП, работающие с заказчиками.
@TedRed4 жыл бұрын
Здравствуйте! Есть вопрос к вам Как лучше писать код: 1) максимально подробно и понятно каждому (но код будет длинным) 2) максимально кратко и эффективно (код будет коротким, но порой непонятным с первого взгляда) Или все же какой-то баланс держать лучше? Я только начинающий)
@_Ivan_B_4 жыл бұрын
8:24 Когда читаешь старые сообщения в фейсбуке или еще где то.
@alexbozhko725 жыл бұрын
Кроме читабельности есть ещё несколько критериев качества кода. Масштабируемость, производительность, требовательность к ресурсам. Это вещи, казалось бы очевидные (на первом курсе учат), но частенько приходится подумать как все это увязать.
@AkkayHT2285 жыл бұрын
Alexander Bozhko масштабируемость это уже про чистую архитектуру, а не про чистый код, то же самое с оптимизациями, но чистый код лучше производительного)
@alexbozhko725 жыл бұрын
@@AkkayHT228 Это следует из того, что разработчики матеряться громче юзеров? ;)
@ni55an5 жыл бұрын
Последнее время стал постоянно придерживаться позиции, что код должен выглядеть близким к человеческой речи. Читая код должно быть сразу понятно как это работает (с учётом того, что читатель разбирается в предметной области). Тогда такой код можно значительно быстрее модифицировать
@SecretYouTubeAgent5 жыл бұрын
Согласен. Код он словно книга или небольшой рассказ. Иногда читаешь, и хочется воскликнуть "ай, как славно написано!"
@natty555555 жыл бұрын
Абсолютно согласен. Только некоторые критические участки приходится оптимизировать (по скорости) и тогда ясность страдает, но обычно стараешся комперсировать комментариями
@lichlichi5 жыл бұрын
Спасибо вам, Сергей)
@robot_01215 жыл бұрын
Гвлнокод хорошо понимает только твой IDE и больше никто. Буду жениться на IDE.
@fermidist5 жыл бұрын
Было бы очень круто, если бы на каждое предложение "у нас на канале есть видео..", в углу видоса была бы на него ссылка
@SergeyNemchinskiy5 жыл бұрын
Было бы круто :) Надо заняться
@meteysh5 жыл бұрын
Все верно коротко и понятно рассказал
@splcell2 жыл бұрын
Как вы чуваки любите все усложнять...
@Konstantin_Terletskiy5 жыл бұрын
Да, вот я всегда стараюсь свой код делать понятным, если это Java, ещё и внятный Javadoc делать к нему. А иначе потом сам недели через две посмотришь и "блин, а зачем вот это?". Не говоря уж о других программистах, которые могут этот код потом пытаться понять.
@KlinovAS4 жыл бұрын
))))) Видал)))) Одна строчка кода и два абзаца комментария)))))))))))) Вышла такая поэма на 9 этажей)))))
@kirillsushilnikov96145 жыл бұрын
Сергей очень крут.
@SergeyNemchinskiy5 жыл бұрын
спасибо :)
@ottercoder5 жыл бұрын
Хорошо настроенные линтеры и код-ревью отлично помогают от говнокода
@SergeyNemchinskiy5 жыл бұрын
Это видео не о том, а объяснение новичкам - что же это такое
@ottercoder5 жыл бұрын
@@SergeyNemchinskiy как его избегать будет отдельным видео?)
@maxlich91395 жыл бұрын
01:51 ха, сейчас работаю в фирме, и много проектов пишем с нуля. легаси мало и ими никто не занимается. в будущем скорее всего их перепишем на новых технологиях
@SergeyNemchinskiy5 жыл бұрын
это не джава, я так понимаю?
@maxlich91395 жыл бұрын
@@SergeyNemchinskiy джава
@ИгорьГорбунов-ю9ж5 жыл бұрын
Благодарю за видео.
@happywater73535 жыл бұрын
Коэффициент WTF.., надо будет запомнить..
@SergeyNemchinskiy5 жыл бұрын
не я придумал :)
@alexanderbelov68924 жыл бұрын
Когда я смотрю впервые на чужой код, я вспоминаю фильм Путь Карлито с горкой порошка на столе... Этот код надо не курить, его надо нюхать.
@tatit188 Жыл бұрын
резюме: кто учится писать код - даже не пытайтесь, обгадят с ног до головы, потому что начальное условие входа в it - ты говнокодер. и только когда ты наберешься опыта ты сможешь так же гадить на голову остальным. действительно сообщество программистов мотивирует и поддерживает.
@ТёмаВечный-б4ш5 жыл бұрын
Исходя из опыта, любой код = говнокод в той или иной степени. Причем один и тот же код в один момент времени для одного говнокод, для другого - совершенство. Тут очень много субъективщины. Как минимум в команде нужны правила, т.к. общепринятые правила имеют кучу допущений, и даже меняются. Пример - приватные поля класса в С#.
@nochnoy_kot4 жыл бұрын
у говно кода есть история возникновения. какой-то важный иностраный тип стоявший у истоков - чем-то занимался. и не знал как правильно назвать определенное явление. у него родились дети. и он какбы "не такой код" сравнил с "детскими фекалиями", "вонючими пеленками" +- Без явной говно-агрессии. А в последствии когда оно вращалось в комьюнити на какой-то конференции - они это исказили до говно кода. Изначально это типа "smell " - ну короче плохо пахнет, а также "детский код"
@VitaliyNET3 жыл бұрын
Жиза) Все верно сказано. Возвращаюсь к своему коду и WTFакаю .... who did this щет)))) А потом, ой этой был я со своей супер-пупер неразширяемой архитектурой.
@mikech764 жыл бұрын
А мы ввели ещё термин - школокод)
@AlexAlex-jk2tn4 жыл бұрын
Спасибо за советы, вроде хорошие, но не ко всем языкам применимы, например C++ я не нашёл единого стандарта кодирования, у всех свой стандарт, кто-то использует гугловский стандарт, кто-то косит под STL и не понятно будет для начинающих программистов какой же стиль всё таки предпочтительный.
@НиколайСушков-е5ж2 жыл бұрын
*10 (говнокод) kzbin.info/www/bejne/rKm7mqyGnNWHZ7s #конспСНП 2- трудно прочитать и понять (по именам переменных и методов и классов - что они делают и для чего). 5- при обучении языку после изучения его конструкции найти методичку по правилам пользования языком (какими буквами называть элемены кода, их расположение, отступы и т.п.) по запросу "язык кодстайл".
@LyubomirZalizkiy5 жыл бұрын
Привет! Есть вопрос - Хорошо ли использовать автоаптейт БД из гибернейта. Или лучше писать SQL миграции ? Спасибо за видео! Очень интересно!
@SergeyNemchinskiy5 жыл бұрын
на этапе прототипирования - самое оно. дальше - отключайте нафиг
@JoeDoe-wr9bu5 жыл бұрын
индусский код - лучший пример говнокода! индус - лучший производитель говнокода!
@user-ux7yu2kb4k5 жыл бұрын
вижу говнокод ставлю лайк не смотря
@АртемБогуш-е3л5 жыл бұрын
Сергей, расскажите, пожалуйста, о salesforce разработке. Что это и с чем его едят. На сколько перспективно с этим связываться, ваше мнение. Это ж вроде к java относится. Спасибо заранее!
@SergeyNemchinskiy5 жыл бұрын
Я уже рассказывал, вот тут: kzbin.info/www/bejne/gau1pJiIrJuMlbc , но пожалуй еще раз расскажу
@Rosko6nii905 жыл бұрын
Очевидно. Автор этот может рассказывать любую фигню и я буду это смотреть...
@SergeyNemchinskiy5 жыл бұрын
ахаха. так мило :)
@Алексей-щ6ю3у4 жыл бұрын
Здравствуйте. А комментарии превращают говно код в норм код?
@агатакристи-г3ы5 жыл бұрын
Сергей, а есть у вас курсы по чистому коду ?
@nickvirus94635 жыл бұрын
Это из за того что Вы не часто начинали проэкты - ушли в преподавательство?
@SergeyNemchinskiy5 жыл бұрын
:) Это особенность джава энтерпрайз
@sergZh785 жыл бұрын
Я просто не обращаю внимания. Есть задача - исправить это, добавить то, вот тут. Делаю. Не получается иначе как костылём? Пишу костыль. Одним больше, одним меньше.. При этом понятия не имею как программа работает в целом. Т.к. это ведомо только тем, кто все это писал. А их судя по коммитам было с десяток.
@dencelman2 жыл бұрын
👍
@Павел-г6ъ5 жыл бұрын
То что у вас в компании писали все по разному значит не было договоренности т е ревью не было Тим лид не о чем был
@YuriyRusinov3 жыл бұрын
Интересно, но Теорию Относительности Эйнштейна понимали немногие, говорит ли это, что он плохой ученый :-)
@РоманК-в5т3 жыл бұрын
Сергей, сорян за оффтоп) На канале находил видео, которое отложил на посмотреть позже и потерял, теперь найти не могу. Прошу помочь. Видео было связано с проблемой начинания ч-л и рассматривалась методология преодоления этой проблемы.
@kobalt-tv-7774 жыл бұрын
А можно ли считать говнокодом, много лишнего кода, где можно было бы обойтись более коротким вариантом кода? Например банальное применение if/else, где вполне подходит switch (). Ну или я вот читал книгу по этой теме. Где рекомендуется чтобы в одном модуле было не более 25 строк (Идиально). Ну максимум до 50 строк в один модуль. Говорят, что это не только оптимизация, но и увеличение степень обслуживаемости кода. Читабельность.
@alekseyshibayev52434 жыл бұрын
Я свичи прошу переделать. Пиши так, чтобы читать было понятно. Пишешь 1 раз, читаешь 10.
@user-neuser763 жыл бұрын
Красивые самолеты хорошо летают))
@silicontower09083 жыл бұрын
сейчас есть линтеры, которые помогут с кодстайлом
@soul-snatcher225 Жыл бұрын
создал игру на Пайтон + библиотека tkinter, это был обычный кликер с прокачкой. буквально спустя пару месяцев, я решил заглянуть туда, что оказалось зря, короче там было такое дерьмище, плюс ещё и повторение кода. надеюсь вы знаете, что меня ждёт...
@ismeretlenukendt78835 жыл бұрын
О бож это так мимимишно!!!
@a.inozemtsev5 жыл бұрын
Иногда ведь бывает непонятно, но совсем по другим причинам. Например неопытность
@SergeyNemchinskiy5 жыл бұрын
бывает, но чем понятнее написан код, тем легче его читать даже неопытному разработчику
@qweezique2 жыл бұрын
Первая работа джуном - и я пишу микросервисы с нуля)
@owl18912 жыл бұрын
При словах "до финиша профессии" поперхнулся чаем. А разве это не та профессия, которая закончится с жизнью? Это же не пилот, или пожарный, где есть определенные физ. кондиции, без которых ты не можешь выполнять свою работу. А тут пиши код, пока не рипнешся, если конечно тебе твоя работа нравится. А если не нравится, то зачем вообще было идти в ИТ
@legomonsters68885 жыл бұрын
Могу прислать много примеров 😉
@SergeyNemchinskiy5 жыл бұрын
вот уж нет :)
@legomonsters68885 жыл бұрын
Сережа, пока ты здесь, в одном из видео ты рассказывал что у тебя на курсах первое тестовое задание непростое, можно пример какую прожку надо написать? Просто подумываю пойти учиться но не хочется приходить совсем лошарой😁так сказать сам оценю свои нынешние способности😉заранее спасибо
@legomonsters68885 жыл бұрын
@@SergeyNemchinskiy обещаю без говнокода😁
@SergeyNemchinskiy5 жыл бұрын
@@legomonsters6888 развернуть слова, оставив на месте все не буквенные символы
@JoeDoe-wr9bu5 жыл бұрын
@@SergeyNemchinskiy regex
@WolfzPain5 жыл бұрын
немного решает проблему codacy (и прочие сервисы проверки залитого кода) и так же прекоммит стайлеры.
@alexanderbelov68924 жыл бұрын
Это не тот, что ругается на delete p; printf("%P ", p); ? Какое им дело до invalid pointer p? Такие тулы глубоко копать не станут. Часто ругают что-то очевидно не по делу.
@Глупыйдурачок5 жыл бұрын
Здравствуйте, Сергей. Можно тупой вопрос? Что вы думаете насчёт будущего php?
@homo-ergaster5 жыл бұрын
Ничего хорошего он не думает. Он уже говорил в другом видео, что PHP - это язык для написания плагинов к WP.
@YKovalenko5 жыл бұрын
Да нормальное будущее. Все известные фреймворки будут жить ещё максимально долго. Например laravel и symfony или же YII2, всё так же востребованы весьма на рынке.
@Глупыйдурачок5 жыл бұрын
@@YKovalenko интересно его мнение
@SergeyNemchinskiy5 жыл бұрын
Запишу видео :)
@Глупыйдурачок5 жыл бұрын
@@SergeyNemchinskiy буду очень ждать)
@dann1kid5 жыл бұрын
Семь бед - один ответ: Костыль и велосипед
@alexanderbelov68924 жыл бұрын
Костыль - это путь наверх, к заветной цели релиза. А велосипед - это путь к пониманию, а значит от говнокода.
@gumelov4 жыл бұрын
ммм у вас два ответа.
@sergeyfamiliy27815 жыл бұрын
Побежденные программисты должны писать программы на языке победителя!
@НиколайПетров-п5т3 жыл бұрын
Непрограммист читал код программиста и понял "это г... код"
@sergeyshramko42004 жыл бұрын
Спасибо.
@Zyozikexclusive_ZX5 жыл бұрын
Из комнаты не издавалось ни одного WTF. Он подумал : " я написал офигенный чистый коТ" ))) Но в комнате , открыв редактор кода, программист мгновенно умер от такого Говно-кода.
@JoeDoe-wr9bu5 жыл бұрын
Про говнокод есть другая более интересная тема: каждый раз когда в той или иной компании я встречаю существующий проект, то примерно в 90% это говнокод и у меня всегда лишь 1 вопрос: как люди пишущие это говно получали эти позиции, в то время как тебе приходилось хрен знает что сделать чтобы попасть туда.
@Anatoly5555 жыл бұрын
А всё потому, что теория, которую рассказывают в видосах - это одно, а практика это совсем-совсем другое.
@iex325 жыл бұрын
ситуация поменялась, теперь требования не БЫСТРО а КАЧЕСТВЕННО
@igoraleksandrovich14985 жыл бұрын
@@iex32 Это где такое? В любой сфере заказчик хочет быстро, а на качество плевать.
@mr.sievert3 жыл бұрын
А если код намеренно запутан?
@СинийКардинал-б5о5 жыл бұрын
Со всем согласен, но... Когда "...и заказчик-дурак тычет мышкой в картиночки гордо..." - от этого почему-то становится горько. К слову. Языки вроде Python и Ruby буквально принуждают к правильному оформлению кода.
@LayronPK5 жыл бұрын
Задам вопрос всем шарящим. Я молодой программист, учусь на магистратуре, за плечами 4 года бакалаврата и пару-тройку языков программирования на каком-то уровне. Уже вроде пора и на работу, но без опыта никуда не берут, поэтому пришлось идти не куда хочу, а куда возьмут. Ну и попал в компанию которая разрабатывает на делфи. Задачи не сильно интересные, но в качестве опыта неплохо. Так вот спустя пару месяцев понял чего хочу сейчас: в геймдев. Но сначала нужно хотя бы годик наработать и выучить нужный язык... А нужный это какой? На чём сейчас пишут геймдевелоперы? Слышал раньше что на плюсах... Только не кидайтесь помидорами пожалуйста.
@SergeyNemchinskiy5 жыл бұрын
да,в основном на плюсах, если говорить о 3д играх. А если казуалки, то на чем только не пишут. Вот на юнити (си-шарп) например
@razorprod40975 жыл бұрын
Кроме языка в геймдеве надо хорошо знать движок на котором будешь прогать, потому что он напрямую влияет на твой код. В каждом движке есть свои особенности которые нужно учитывать при написании кода. Одного языка будет недостаточно, это мягко сказать.
@MsSergey13135 жыл бұрын
А как быть в случаях когда для сохранения производительности или экономии памяти приходиться жертвовать удобочитаемостью? Напр. запихать в одну переменную некоторое количество разных булевых значений чтобы не тратить байт на хранение только одного тру или фолс.
@БарометрАтмосферный5 жыл бұрын
Некрасивый и дорогой финансовый код на Яве. В таких организациях это не воспринимается как говнокод - это кодстайл.
@JoeDoe-wr9bu5 жыл бұрын
Это не экономия, это - говно. Я бы еще мог понять если бы у тебя проект был на СПП, который имел местами вставки из ассемблера (что сейчас уже не критично). Но то что ты описал - это говно. Давай угадаю: у тебя еще и работа есть где ты числишься перспективным разработчиком?:)))))))))))))
@MsSergey13135 жыл бұрын
Joe Doe то что я описал является весьма полезной вещью при программировании микроконтроллеров. Иногда без этого тупо нельзя обойтись. Например при передаче данных через радиомодули которые могут передать байтов очень мало (за некоторый промежуток времени). У меня кстати есть видос на канале про ардуино и радиомодули.
@JoeDoe-wr9bu5 жыл бұрын
@@MsSergey1313 Для этой цели есть ассемблер , на худой конец с++. а то что делаешь ты - это говнокод.
@MsSergey13135 жыл бұрын
@@JoeDoe-wr9bu В критичных местах среда позволяет это вставить а в остальных просто нет смысла заморачиваться. И обычно я свой код понимаю спустя много времени без WTF благодаря высокоуровневости большей части написанного. Как вы думаете что будет если всё писать на ассемблере? Насколько будет лучше и понятнее?
@angrycatstudio28164 жыл бұрын
- У моего кода диарея, у вас есть лекарство? - Увольтесь.
@KoRoBoCHkA_25 жыл бұрын
Говнокод заканчивается там, где ты узнаешь что такое говнокод
@SergeyNemchinskiy5 жыл бұрын
если бы....
@alexshtams4 жыл бұрын
не существует говнокода... это субъективное понятие. но существуют юзеры, которые будут говорить , что это говнокод.
@evgeny_58915 жыл бұрын
Круто, как поставить 20-ть лайков?)
@dmitrikomarov24845 жыл бұрын
спасибо
@den_84514 жыл бұрын
А что делать если стоит выбор между производительностью и понятностью кода?
@antaki932 жыл бұрын
Время программиста стоит дороже времени компьютера. Железки сейчас достаточно мощные. Если это не какая-то особо требовательная задача или особенно слабое железо, то читаемость в приоритете.