Тёмный

💩 Bad coder VS 👨‍💻 Programmer. Programmer Etiquette 

Senior Software Vlogger
Подписаться 114 тыс.
Просмотров 115 тыс.
50% 1

eslint.org
prettier.io
gist.github.co...
Channel supported: / seniorsoftwarevlogger
Website: seniorsoftware...

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

 

28 сен 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 711   
@nameeman207
@nameeman207 6 лет назад
0:23 Стиль написания кода. Инструменты его выработки , линтовщик. 2:15 Коммиты. Сообщение до коммита. !"а так же". 4:26 Тесты. Тест переживатет рефакторинг. No test for test. 5:50 Опечатки. SpellChecker. 6:34 Комментарии. 8:40 Мёртвый код. 10:23 Излишняя сложность.
@avejantzero9090
@avejantzero9090 6 лет назад
Спасибо!
@somestrangeperson
@somestrangeperson 6 лет назад
Спасибо!
@DrovitoBrazzi
@DrovitoBrazzi 6 лет назад
отвечу тут, тк заспамили видос, а тут больше вероятность дискуссии с автором. тесты - тоже могут тестироваться, это называется мутационным тестированием. и в целом по поводу тестов, они не всегда уместны. допустим когда делается Proof of Concept, с заранее неизвестным ТЗ. то есть есть некоторое желаемое приложение с базовым набором функциональности, но источник данных/протокол/модель данных заранее не известны и изучать приходится методом проб и ошибок. в таком случае покрывать бизнес-логику тестами нет никакого смысла, тк все очень волатильно. Более того в таких случаях иногда и нет смысла делать нормальную декомпозицию кода, до момента когда функциональность проекта не будет заморожена и уже тогда можно приступать к рефакторингу и покрытию тестами (это про еще и про то, что test first конечно прекрасная идея, но в реальном мире не всегда работающая)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Лучше в личку на патреоне.
@Soprachev
@Soprachev 6 лет назад
name eman ф
@konst3d
@konst3d 5 лет назад
За 14 лет в професси, я для себя вынес пару очень простых правил, которых стараюсь придерживаться: 1) Кода должны быть как можно меньше. 2) Код должен быть как можно более простым. Все остальное, вытекает из этих двух принципов: 3) Код должен легко читаться. Любой джуниор должен без проблем сесть и быстро разабраться, как и что ваш код делает. 4) Код должен легко поддаваться модификации. Если вы сделали архитектуру, а потом, спустя время, от вас потребовали внедрить новую фичу и вы видите, что архитектура этого не позволяет - значит ваша архитектура - говно. 5) Код должен быть максимально модульным и пригодным к юнит-тестированию. Как-то так.
@yurim7756
@yurim7756 5 лет назад
Ага, но вот, деталь одну не раскрыли. Что значит легко поддаваться модификации? Я, например, считаю, что код должен быть ПРОСТЫМ и ЖЕСТКИМ, а не гибким. Т.е. код должен быть как можно проще и достаточно жестким, чтобы выполнялись требования. И ни в коем случае не закладывается преждевременная гибкость. А простота модификации достигается с помощью DRY. Любое утверждение в коде должно встречаться раз. Т.е. код не на шарнирах, а когда меняется какое-то требование, надо найти ту косточку и ее сломать. Т.е. простота в приоритете перед гибкостью. 15 лет в профессии. YAGNI, DRY, KISS
@konst3d
@konst3d 5 лет назад
​@@yurim7756Да, это главные принципы для создания хорошей, гибкой архитектуры. Опытный программист пишет минимальный, работающий код, и потом, в случае необходимости, добавляет\изменяет фичу добавив и изменив пару\тройку файлов. Джуниор как правило, тратит кучу времени на создание гибкой, как ему кажется системы, с кучей интерфейсов и шаблонов и потом, когда действительно нужно добавлять\изменять фичу, выясняется, что именно этот случай, он и не предусмотрел. :) И в итоге опять тратится куча времени на переделывание архитектуры, на добавление новых интерфейсов и взаимосвязей - дабытеперь уже система стала на 100% гибкой. :) Нужно ли говорить, что следующая новая фича, скорее всего опять не впишется в старую абстракцию? :) Так что - да, я тоже за гибкость через простоту и жесткость.
@yurim7756
@yurim7756 5 лет назад
@@konst3d Ну да. Преждевременная гибкость, это как правило гибкость только в предугаданных направлениях, но чрезмерная жесткость в неугаданных. В результате, если требования как-то пошли не так, джуниоры обижаются на заказчика, потому что тот сразу не сказал, что так может быть )) Или, если гибкость слишком большая, то это в ущерб статической типизации. Т.е. вроде код и гибкий, но место для счастливой и беззаботной жизни багов. Гибкость по-сути - антипод правильности. В первую очередь код должен заботиться о правильности выполнения требований. А гибкость - проблема индейская. Но к сожалению, большинство программистов именно с нее начинают. Поэтому: простота, декларативность (по возможности), в коде должны читаться требования, а не алгоритмы. И я бы выделил локальную читаемость. Большинство программистов стараются создать архитектуру, которую видно с птичьего полета. А как по мне, главнее, чтобы открыл любой файл с кодом, и чтобы он читался ну как повествовательная книга.
@yevheniiblink7166
@yevheniiblink7166 6 лет назад
Я понял, это Киану Ривз, который выбрал синюю таблетку)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Развитие темы пошло 👍
@olehsavchuk
@olehsavchuk 4 года назад
Комментарии - почему их не должно быть? Реальность это когда код пишется, переписывается и поддерживается разными людьми. Реальность это когда клиент не всегда платит за время на вникнуть в полную логику, и в результате переписания кусков кода он становится сложно читаемым. Как по мне, это не правильно хэйтить комментированный код. Я считаю что в условиях реальной жизни комментарии позволяют быстрее разобраться в коде и в ходе мыслей предыдущих разработчиков. А хэйт комментов как по мне это понты и высокомерие.
@griel80
@griel80 4 года назад
Если честно, перечитывая даже свой код спустя какое-то время комментарии не очень уж сильно помогали разобраться. Я по своим проектам наблюдаю следующую динамику: уменьшение количества комментариев и увеличение количества UML-диаграм. Когда видишь какое место функция или компонент занимают в программе, как они используются и видишь это графически и наглядно, анализ кода становится куда более посильной задачей.
@delir0
@delir0 3 года назад
Комментарии для очевидного кода - это дублирование этого же кода на другом языке (обычно английском), то есть, бесполезная трата времени на написание и бесполезная трата времени на чтение (особенно передаю привет сидящим на макбуках 13 дюймов). Если же комментарий для неочевидного кода, значит код стоит переписать чтобы он стал очевидным, что переносит нас на первый пункт. И есть лишь небольшая доля кода, который действительно стоит комментировать, потому что его невозможно написать более очевидно. Но во всех этих случаях комментарий должен отвечать не на вопрос "что делает этот код?", а на вопрос "нафига он это делает?"
@alexandranesterenko
@alexandranesterenko Год назад
Очень круто, спасибо!
@InconspicuousChap
@InconspicuousChap 6 месяцев назад
Смотря, что делает этот код. Когда смотрим сложный алгоритм (например, в сишных библиотеках Питона), то пространные шапки комментариев очень помогают схватить основную идею. А кода формошлёп пишет над каждым методом своей CRUD-приложеньки шапку с подробным однотипным описанием параметров, потому что так положено, это - просто засорение кода. Но оно требуется, потому что разработчикам CRUD-приложений платят фактически за строки кода: они должны разработать ненужную по сути вещь, но она должна выглядеть, как настоящая, а цель этой разработки - освоение ИТ-бюджета менеджерами.
@darklights87
@darklights87 6 лет назад
Вообще не про говнокод, грамматические ошибки, комменты, тесты - это все наживное. А вот если код пишется в лоб, без знаний того как работает то что используется, в чем его смысл итд. Не к месту используемые инструменты и библиотеки. Отсутствие обработки исключений и невнимательность
@metlov
@metlov 5 лет назад
Такое ощущение, что 80% комментирующих решили написать "не согласен, автор не прав" еще до того, как начали смотреть видео. Да, с примерами было бы лучше, фокус камеры и звук можно улучшить, но меня это не напрягло, материал менее ценным от этого не стал. Я с 12 годами опыта почерпнул интеренсные детали. Спасибо.
@Alex-hs8xj
@Alex-hs8xj 3 года назад
чем меньше времени у меня на выполнение задачи, тем больше я гавнокодер
@ukrainian333
@ukrainian333 5 лет назад
Экран макбука настолько четкий, что камера отказывается фокусироваться на лице владельца. Вот Эпл так Эпл!!!
@ukrainian333
@ukrainian333 5 лет назад
@script с какой стати макбук это не макбук?
@ukrainian333
@ukrainian333 5 лет назад
​@script Открою секрет - там под экраном есть буковки, вот это и есть название устройства - MacBook Pro... хотя там и по тачпаду все понятно
@AlexJPep
@AlexJPep 4 года назад
Хорошее высказывание "тест это код на который нету тестов". И как следствие из этого, тесты должны быть очень маленькими и тестировать всёго один кейс. Таким образом, хоть это и код на который нету теста, он становится очень простым, понятным и минимизирует ошибки.
@andriikomisarenko7785
@andriikomisarenko7785 6 лет назад
Ох уж эти жаваскрипт разработчики и вайтишники.
@Dimarious.G
@Dimarious.G 6 лет назад
Ох уж эти комментаторы с 1 подписчиком и видео про правый сектор 🙃
@РусланРусланов-и7ь
@@Dimarious.G flawless victory
@ДаниилДубченко-т8с
Я программист, для меня все эти рекомендации очевидны
@ОнуфрийНечепуренко
Писать код без комментариев? Нуууу, не знаю.
@ДаниилДубченко-т8с
@@ОнуфрийНечепуренко Почему же без комментариев? Если приходится писать костыль или просто сложную штуку, то я оставляю комент. Но чаще всего мой код читабелен и без комментариев, потому что все переменные, функции и т.д. названы правильно
@avazart614
@avazart614 4 года назад
Для опытных очевидно - то да. Но навряд ли поможет в понимании для новичков без конкретных примеров кода на конкретном ЯП и проекте.
@АлексейЕмельянов-л8п
Очень круто! О правилах хорошего кода за 13 с половиной минут. Спасибо!:)
@the-unspectd
@the-unspectd 6 лет назад
Прочитал коментарии и понял что большинство разработчиков не понимают насколько важны такие понятия как стиль, единые подходы, избегание излишней сложности, чистота и тд потому что не участвовали в действительно больших и продолжительных проектах. Да возможно когда ты делаешь проект, который в стадии активной разработки продлиться 3 месяца, после которых все на его забьют тут не важно насколько он чисто будет написан. Но, поверьте, если проект делается 5+ лет группой 50+ человек, то в случае игнорирования данных практик его разработка будет невероятно сложной, болезненной и демотивирующей. Но если следить за этим, уделять достаточное время дизайну и устранению технического долга, то и сложные системы могут быть достаточно внятными, прозрачными и понятными для изменений.
@НиколайБабруев
@НиколайБабруев 5 лет назад
Расскажи эти слова бизнессзаказчикам, которые содержат ватагу таких чистоплюев, которые на выходе дают красивые комиты и гавнапродукт, который в очень красивом стиле пилился 300 лет. Индусы тебя без работы оставят влет.
@MrThreeda
@MrThreeda 6 лет назад
По поводу микро-коммитов не соглашусь. Когда вошёл в поток и активно делаешь изменения, особенно если они связаны с рефакторингом, это в итоге затрагивает большие куски кода. И если пытаться разделить эти изменения по смыслу и разбивать по коммитам, то уйдёт гораздо больше времени из-за того что будешь откладывать на будущие коммиты то что нужно сделать сейчас. Если же сделать кучу нужных изменений сразу, а затем пытаться разбить используя возможности системы контроля версий - это опять окажется болью, потому что изменения в одном и том же файле могут оказаться разными по смыслу... Поэтому всё зависит от процессов выстроенных в компании и темпа разработки. Если контроль качества имеет более высокий приоритет, тогда имеет смысл вести разработку медленно используя все возможности для того чтобы свести к минимуму незапланированные ошибки. В молодых же проектах вполне можно делать быстрые изменения и большие коммиты, которые включают в себя много разноплановых вещей.
@Holms
@Holms 6 лет назад
Тебя не кто не заставляет комитить сразу. Я пишу в экстазе громадное количество строк и потом делаю много комитов :) Любой git клиент умеет partial commits. Идешь в файл помечаешь строки для комита в этом файле и комитишь ) Конвенцию для текста лучше брать с linux kernel репозитория: "action description"
@MrThreeda
@MrThreeda 6 лет назад
Holms в моём случае это пустая трата времени. Хорошо если ты можешь себе это позволить...
@kassymkhantorgayev5423
@kassymkhantorgayev5423 6 лет назад
А в чем тут несогласие, он вроде так и сказал: по возможности делать частые и мелкие коммиты но если изменения вдруг стали глобальные то делай большой коммит
@kassymkhantorgayev5423
@kassymkhantorgayev5423 6 лет назад
в больших проектах делать большие коммиты, которые включают в себя много разноплановых вещей думаю будет не очень хорошей практикой так как со временем разработчикам придется со всем этим разбираться
@MrThreeda
@MrThreeda 6 лет назад
Разногласие в том что он привёл это как аргумент того что микрокоммиты - показатель хорошего программиста. Хотя это не так. Джуна гораздо проще делать микрокоммиты потому что от него выхлоп меньше :)
@jenyaspace
@jenyaspace 6 лет назад
я в профессии 10 лет но до сих пор говнокодер
@ФедорАргунов-р3я
Jenya Space каждый год клипают ролики о говнокоде))) кажись это заговор разработчиков языков программирования
@stepbystep8525
@stepbystep8525 6 лет назад
я 15 лет говнокодю, зарабатываю 15к$
@denyshriaznov786
@denyshriaznov786 6 лет назад
Сочувствую тем, кто работает с тобой
@DanilLinTwist
@DanilLinTwist 5 лет назад
Ох уж этот шальной фокус
@sergzach
@sergzach 6 лет назад
Но неизменность теста, т.е. его слабая связанность с особенностями реализации кода, может также означать недостаточный контроль кода. Может оказаться, что мы просто мало что тестируем; тестируем какие-то очевидные вещи. Можно ведь написать тест, который не будет зависеть от кода, но также и не будет зависеть от ошибок в нём. :)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Пишем маленькие чистые функции и нет таких проблем
@sergzach
@sergzach 6 лет назад
Дмитрий, а это правда, что Вы фанат функционального программирования?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Я фанат рационального программирования :)
@aerahtv0000
@aerahtv0000 4 года назад
К примеру если есть такое место в коде, где код запускается постоянно и много раз в секунду, + состоит из нескольких больших лупов, поэтому создание лишних функций добавляет оверхед, плюс нужно в каждой из маленьких функций заново рассчитывать локальные переменные, либо же передавать огромное количество переменных то в одну функцию, то в другую, что тоже плохо, поэтому у меня в том месте одна большая функция (~200 строк), это проблема? Тоесть я всёравно должен разбивать функцию на куски, даже если это пусть и незначительно, но всё же вредит производительности или нет?
@АндрейБурачковский-й1з
Если язык компилируемый, то компилятор может эти функции инлайнить и все оверхеды пропадают
@aerahtv0000
@aerahtv0000 4 года назад
@@АндрейБурачковский-й1з не все методы инлайнятся
@aerahtv0000
@aerahtv0000 3 года назад
@@vodchiy нет не много, всего 1 место, в котором работает либо одна функция, либо другая, обе сильно огромные по 200-300 строк, я там всё довёл до микрооптимизации, разбивать не собираюсь, спасибо за ответ.
@pumbo_nv
@pumbo_nv 6 лет назад
Про комментарии - не согласен. Например, в бизнес-логике без комментариев не разберешься почему надо так, а не иначе.
@VORASTRA
@VORASTRA 6 лет назад
Он говорит, что не нужны в очевидных местах комменты
@pumbo_nv
@pumbo_nv 6 лет назад
@@VORASTRA нет, он не это говорит, а то, что если к коду требуются комментарии, то, значит, код написан плохо. Слишком радикальная позиция, как мне кажется.
@ИванФедяков-э7э
@ИванФедяков-э7э 6 лет назад
Чекни книгу Чистый код. Там есть отдельная глава про комментарии
@antonshtihov7662
@antonshtihov7662 6 лет назад
есть особи которые вообще коментов не пишут. как бывший прогер в фирме где я пока что оаботаю. за такое следует топить при рождении!!
@kd8437
@kd8437 5 лет назад
​@@pumbo_nv всё ты правильно говоришь. Фраза "если коду требуются комментарии, то значит код написан плохо" - это фраза обычных теоретиков, которые к реальному программированию отношения не имеют и программируют в книгах задачи, которые в конце главы расположены))) Я в программировании уже около 10 лет и я прошел через огромное число проектов и работаю тим лидом на данный момент. И я могу со 100% уверенностью сказать, что код без комментариев - это просто ублюдство, так как сразу видно, что писал какой то человек, который думает только о себе и не думает, что его код будет смотреть другие. И реальность такова, что есть полно сложных вещей, которые приходится делать. Алгоритмически сложных вещей и сложную логику. Само собой, глупо писать комментарии в очевидных местах. И ровно так же глупо НЕ писать комментарии там, где они реально нужны. Какой бы не был красивый код, если сама функциональность сложная, то гораздо проще будет понять код, который написан с комментариями.
@sergeygusarov3309
@sergeygusarov3309 6 лет назад
Спасибо за материал!!! Было классно с вами поработать!!!)))
@elenashlandakova2548
@elenashlandakova2548 5 лет назад
Спасибо за видос 👍
@i_am_5_percent
@i_am_5_percent 6 лет назад
А архитектуры и паттерны???
@Skalebro
@Skalebro 6 лет назад
Мы с коммитами сделали иначе. все задачи были через трелло. А в коммит писали хеш из ссылки на таск + инфа.
@aln9391
@aln9391 6 лет назад
Снобизм одноклеточных
@MayDay-g4k
@MayDay-g4k 5 лет назад
Насчет юнит-тестов не совсем согласен. Возможно я не так понял высказывание, но тест не всегде должен переживать рефакторинг. Вот пример : у вас есть мок на метод, в ассерт части вы чекаете сколько раз замоченный метод вызывается, скажем, это был репозиторий, который вычитывает данные из таблицы имя и фамилию. Какой-то интерн\джун\вы в прошлом написал так, что значение вычитывалось несколько раз, и вы успешно это заюниттестили. После того, как у вас БД на проде загружена на 146% вы обнаруживаете, что этот код должен быть отрефакторен так, что бы метод вызывался один раз. Вам нужно менять тесты! Не бойтесь проверять в тесте количество вызовов метода или еще что-нибудь фажное в угоду будущему рефакторингу, не подставляйте себя! :) Может быть пример не очень корректный, но суть вы, надеюсь, поняли. Юнит тесты должны быть как ваша математичка, строгие, но справедливые! =D
@InconspicuousChap
@InconspicuousChap 6 месяцев назад
После обнаружения множественной загрузки одних и тех же данных из БД возникают серьёзные вопросы к авторам кода. Ведь нагрузочные требования должны были быть в проектной документации. А если их там не было, то почему взялись за разработку незнамо чего? Так что какой там рефакторинг, тут профессиональное несоответствие в полный рост. Но я скажу, почему в большинстве случаев такие вопросы не задаются. Потому что сам проект не нужен, открывается только ради освоения бюджета на автоматизацию и поставить галочки: "бизнес в этом году автоматизирован на 87.5%". И в таких проектах - как раз хорошо, что БД загружена на 146%, т.к. это помогает пускать пыль в глаза: вот какая нужная приложенька, и сколько сложных вычислений она делает. А давайте закупим ещё 20 серверов и с них тоже снимем себе откатов.
@MayDay-g4k
@MayDay-g4k 6 месяцев назад
@@InconspicuousChap ого некропост)) но да, вы же робот и пишете идеально продуманный код. А условие в конце, что пример не корректный служит лишь для иллюстрации, вы, почему то пропустили не как робот, а как человек.
@InconspicuousChap
@InconspicuousChap 6 месяцев назад
@@MayDay-g4k Ну да, в понятиях ЕГЭшных поколений я робот. Я знаю, что я делаю, когда пишу код. Так же, как и люди, у которых я учился, вся старая школа знала, что делала, когда писала код. И зачем писала (кто пользователи, каков эффект) - тоже знала. И у буржуев так же: Дэйв Катлер, Линус Торвальдс, Джон Маккарти, Никлаус Вирт, Кен Томпсон и другие - все формировали постановку задачи, а потом проектировали решение перед тем, как кодить. Это вы только лепите, сами не зная, что и зачем. И получается у вас 100% говнокод, как его ни отформатируй и каких юнит тестов ни понапиши. И работа у вас есть исключительно в части распильных никому, кроме откатчиков, не нужных проектов, поэтому всем по барабану на полуработающие решения.
@MayDay-g4k
@MayDay-g4k 6 месяцев назад
@@InconspicuousChap апелляция к авторитетам и к возрасту. Ну дальше и разговаривать не о чем, это просто узколобость. :)
@InconspicuousChap
@InconspicuousChap 6 месяцев назад
@@MayDay-g4k Узколобость или нет, но к счастью, софтостроение - дело такое. Или взлетит, или нет. Так что шлёпай свои формы дальше, "продвинутый" и "современный" ты наш. И знай своё место формошлёпа. Ты будешь его занимать, пока не научишься уважать старших.
@dynaiteam7240
@dynaiteam7240 5 лет назад
Киану хуйни не скажет
@imbecil2436
@imbecil2436 3 года назад
я не программист, а профессиональный гуглер и стиль кода для меня не существует
@volodia9509
@volodia9509 6 лет назад
Было бы круто, если бы вы показали пару примеров говнокода из реальных проектов)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Было бы круто найти пару примеров реальных проектов БЕЗ говнокода!
@volodia9509
@volodia9509 6 лет назад
@@SeniorSoftwareVlogger ну вы ведь вроде как пишите без него, так что проблемы не вижу. Сравните свои работы и аналогичные чужие. Будет интересно
@VladKochetov
@VladKochetov 4 года назад
PEP-8
@AZREDIG
@AZREDIG 3 года назад
Давай Нео, запускай уже матрицу!
@denysslynko4180
@denysslynko4180 5 лет назад
расфокусировка раздражает ппц)
@ok_kov
@ok_kov 5 лет назад
да, согласен. Программист ёпта. Говорит код читать невозможно. А видео своё не настроил - бля смотреть невозможно. Просто слушал, чтоб глаза не сломать.
@InconspicuousChap
@InconspicuousChap 6 месяцев назад
А там есть, что смотреть? По-моему, вся информативная часть рассказана голосом. Или вам непременно нужен гипнотизирующий видеоряд, чтобы отключить критическое восприятие сказанного? Ну да, думать - сложный процесс...
@honsu920
@honsu920 6 лет назад
Видео понравилось. Подробности по каждому пункту можно погуглить при желании. Взял на заметку разбивку больших коммитов на более мелкие, атомарные. Часто говорят, типа, в моей компании сжатые сроки, мы не пишем тестов, нет общих правил и стиля написания кода, нам не до статических анализаторов, у нас постоянно гарь... Профессионализм - это ещё и умение выбирать компанию и проект для работы. Зачем лезть в гарь, когда можно работать в компании с нормальным планированием и качественными процессами? Где говнокод тебе не навязывают, а отучают от него!
@armanbadalian
@armanbadalian 4 года назад
Про эго верно подмечено...)
@Holms
@Holms 6 лет назад
Примеры где емае :) Наилудшый стандарт по комитам это репозитория ядра Линукс :) "добавил тест для того-то" "исправил ошибку там-то" :) Насчет кода так есть стандарты у каждого языка у питон например pep8: www.python.org/dev/peps/pep-0008/ Вообще мне лично гавнокодер это тот кто не понимает своего используемого узыка. Точнее не знает как реализованы структуры данных в его языке, не знает лучшие практики своего языка, не знает как в памяти структуры данных работают и чего не стоит использовать допустим удалять элементы массива это зло для твоих ресурсов, лучше просто обнулять их, в некоторых языках это реализовано правильно, там и так нули ставятся, а не весь элемент удаляется. Вообще гавнокодер это пофигист которому насрать на perfomance и вообще компьютерную науку в целом как и неуменее проблемы решать, а не из обходить :)
@РусланВетров-с2й
Я до просмотра этого видео думал что говнокод - это код, который растянут, сложен, и то что можно было написать за строчек 10 в итоге написан на 100 (по сути последний твой пункт), но было перечисленно столько пунктов, которые даже к кодингу особого отношения не имеют и их можно пофиксить за пару дней, а вот в этом пункте ты сам сказал что иногда приходится использовать сложный код, вложенные циклы, условия в них. Иногда у меня возникает вопрос, я пишу говнокод или это вынужденная мера? это можно как-то выявить и пофиксить?
@ThisDaveAndThatJohn
@ThisDaveAndThatJohn 6 лет назад
никак это не узнать. Зовешь другого твоего же уровня и пускай разбирается, если спотыкается значит говнокод, это единственный вариант. Можно еще читать собственный год написанный давно, если спотыкаешься, то говнокод.
@alexb7888
@alexb7888 4 года назад
Насчет тестов не все так плохо - те же пхпшные тесты можно проверить с помощью infection и почти уверен что для других тестовых фреймворков должен быть инструментарий для мутационного тестирования. Естественно MSI - не истина в последней инстанции, но все же дает представление насчет корректности написанных тестов
@lolbefree
@lolbefree 5 лет назад
В python идыешка pycharm все подсвечует ) но говнокодить приходится, скорее всего из-за нехватки опыта) я получаю удовольствия от того что пишу код, но моя нынешняя профессия мне не нравится, хочу стать кодером, надеюсь когдато кто-то возьмет меня каким-то интерном или джуном... смотрю видео автора, для мотивации =) Спасибо тебе!
@AlexNatkin
@AlexNatkin 3 года назад
Как успехи?) Получилось сменить профессию?
@lolbefree
@lolbefree 3 года назад
@@AlexNatkin нет
@AlexNatkin
@AlexNatkin 3 года назад
@@lolbefree а цель осталась или передумал?
@lolbefree
@lolbefree 3 года назад
@@AlexNatkin я пишу каждый день, что-то новое, завел git, но мне приходится работать сисадмином(принтера, сервера, сервисы) и параллельно кодить для этой же компании, за премии
@AlexNatkin
@AlexNatkin 3 года назад
@@lolbefree ну это отлично! молодец!) на python'e пишешь?
@Computa_Hakka
@Computa_Hakka 6 лет назад
Спасибо. Пойду дальше писать код на латыни
@И.Артемьев
@И.Артемьев 5 лет назад
работаю в силиконовой долине, 80% окружающих меня людей не придерживаются стиля, как и я. Просто пусть все знают, что у компании ***z*n программисты гавнокодеры) Успехов тебе, Senior программист.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 лет назад
Спасибо! Интересно узнать, что столько говнокодеров в Амазоне. Где берете? Специальный вопрос на собеседовании есть?
@denysslynko4180
@denysslynko4180 5 лет назад
я думаю этим хвастаться не стоит) Даже если ты крутой чувак! Это как есть руками в ресторане только потому что ты можешь это себе позволить)
@rerawesayu
@rerawesayu 5 лет назад
всегда в комментариях к классу или методу пишу для чего он предназначен, что возвращает и описываю переменные и их типы. получается я говнокодер по новым веяниям поколения ноде-джс ?
@yurim7756
@yurim7756 5 лет назад
По разному. Вообще, любые комментарии - это скорее плохо чем хорошо. Но к функциям терпимо (хотя я не пишу), если они сложные, тяжело ясно назвать (например, в сложных алгоритмах), чтобы не смотреть в тело. А еще неплохо, если они в каком-то специальном формате, который может читать редактор и делать потом подсказки. Вообще, всё что улучшает понятность, всё это хорошо. Но с комментариями часто такая штука, что если они нужны, значит код говно, по нему не понятно, что он делает. Или слишком сложный оправдано, но непонятно что делает. Так вот, комментарии + непонятный код, это может быть сложнее, чем просто код. Ведь вы увеличили количество информации, это точно сложнее. А еще часто комментарии могут нагло врать. Код чаще меняется, может даже средствами автоматического рефакторинга. Где-то из другого места изменили имя переменной, функции, и комментарий устарел. В общем, желательно, чтобы код читался, как книга. Буквально повествовательно, декларативно. По возможности. Имхо, даже намного важнее локальная читаемость кода, чем какая-то общая архитектура кода. Но, описывать функции, это олдскул, не так и плохо. Но, согласен с автором, комментарии - это то, к чему не надо стремиться. Я их пишу, когда уже сдаюсь. Когда уже соглашаюсь, что я недостаточно хорош, чтобы выразить это кодом понятно. Вообще в ролике про говнокодеров ничего в общем-то не сказано, несмотря на название. Говнокодить можно и с гитом, и писать прекрасный код можно без гита.
@paterdeus8435
@paterdeus8435 5 лет назад
дело не в наличии, а в сути коментов, если вам так нравится дело вкуса, но если это необходимость без которой код никто не разберет стоит задуматся
@paterdeus8435
@paterdeus8435 5 лет назад
если комениы вроде "не уберайте эту переменную иначе гдето сломается" пора задуматся о смене професии
@ilyacheladin1
@ilyacheladin1 5 лет назад
Во, во. Сейчас веду проект под STM32, в штатных либах там комменты по десять строк к каждой функции. Это что ж получается, в компании запилившей ставший стандартом де-факто микроконтроллер одни говнокодеры что ли работают?
@AlexCSharp
@AlexCSharp 5 лет назад
Большое количество комментов ухудшает читаемость самого кода, да и далеко не каждый программист умеет хорошо писать документацию к собственному коду. Комментировать имеет смысл только очень оригинальный код, который сложно работает и не является типовым, в плане выполняемой задачи. Да и то, скорее всего, это просто хреново написанный код. Комменты хороши для каких-то сложных инструментов, или когда реализация скрыта. В противном случае достаточно делать коммент к сложному методу или классу, если его функция не выходит из его названия.
@TakemuraGoro
@TakemuraGoro 6 лет назад
Спасибо, все как есть.
@AlexeyTimofeev
@AlexeyTimofeev 5 лет назад
Вот насчет коммитов не совсем согласен. Если все делить на атомарные коммиты, заколебешься потом мержить. Это ты уже исходишь из аджайл. Ну да каждая задача должна быть атомарной тогда.
@codemaker7027
@codemaker7027 6 лет назад
Иногда смешно смотреть на тех, кто считает себя не говнокодером и запаривается насчёт форматирования и стандартов, а сам даже SOLID и DRY не соблюдает. Зато пробелы и отступы расставляет)))
@DrovitoBrazzi
@DrovitoBrazzi 6 лет назад
SOLID не серебрянная пуля, есть куча вещей проверенных временем, которые в SOLID вообще не укладываются, не говоря уже о том, что с течением времени конкретный смысл который вкладывается в каждый пункт можнт по разному интерпетироваться.
@alexeymezenin
@alexeymezenin 6 лет назад
Можно услышать несколько вещей из этой кучи? Очень интересно послушать что именно не укладывается в SRP, например.
@DrovitoBrazzi
@DrovitoBrazzi 6 лет назад
ну например такая вещь как ActiveRecord если классический ответ. если не классический то множество fluent dsl api, которые помимо конфигурирования текущего уровня позволяют еще и вызывать методы бизнес-логики. допустим apache olingo. ну или если совсем простое то зачастую реализации паттерна facade нарушают SRP.
@codemaker7027
@codemaker7027 6 лет назад
Active Record не нужен!
@codemaker7027
@codemaker7027 6 лет назад
Да, не серебряная пуля, но соблюсти хотя бы некоторые пункты из него важнее, на мой взгляд, чем расставить отступы и пробелы в коде.
@MaximZhuravlevYT
@MaximZhuravlevYT 5 лет назад
Что с фокусом камеры?
@mlvspb
@mlvspb 5 лет назад
Баг, репорть в джиру, пофиксят в следующем релизе
@alexandera.7616
@alexandera.7616 5 лет назад
Это эхо выбивает все мысли из головы. Жуть. Не надо так
@ivansherbinin
@ivansherbinin 5 лет назад
2:52 во-первых я таки будучи простым сисадминским скриптером до сих пор подхожу под определение программиста :) во-вторых это больше к умению излагать мысли, чем к программированию. Соответственно во-время собеседования возможно имеет смысл не только дать человеку написать кусок кода, но и попросить написать диалог/зарисовку/рассказ. Заодно и умение нестандартно мыслить проверится.
@ivanpunch
@ivanpunch 6 лет назад
Камера вечно фокус теряет звук плохо синхронизирован. Программист возможно хороший, но не мультипотенциал
@ilqlazar
@ilqlazar 6 лет назад
Как можно разбить коммит? Изменения то уже сделаны. Часть изменений вернуть на место, закоммитить, потом снова их прокрутить и сделать второй коммит?
@SoExpired
@SoExpired 6 лет назад
Изменения можно коммитить по частям. Можно даже откатиться и переделать. Git rebase -i
@AikawaGeorge
@AikawaGeorge 6 лет назад
просто не делать git add .
@volodymyrvolodymyr3965
@volodymyrvolodymyr3965 6 лет назад
Можна закомитить кусочек файла (тебе поможет в етом IDE)
@Acid31337
@Acid31337 6 лет назад
чтобы сделать коммит, сначала добавляют файлы в stage area. Не надо все время пользоваться встроенными в IDE плагинами к git, они убогие.
@ilqlazar
@ilqlazar 6 лет назад
@gorozhanin мой косяк - не указал. Но имел в виду как раз его.
@ОлегКроль-х2д
@ОлегКроль-х2д 6 лет назад
Посоветуй спелчекер
@artsbrand
@artsbrand 5 лет назад
полностью согласен и подписываюсь под каждым словом донного видео, вроде бы очевидлные вещи, но многие не придерживаются, спасибо
@InconspicuousChap
@InconspicuousChap 6 месяцев назад
Да, в чём-то ты прав, назвав видео "донным".
@BorodaTech
@BorodaTech 4 года назад
Интересно, но сильное эхо в комнате, очень тяжело слушать.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 4 года назад
Согласен :( эхо с тех пор поправил
@ИванКА-ъ9р
@ИванКА-ъ9р 4 года назад
пока ты не сказал, я даже не заметил
@staskeprosto1940
@staskeprosto1940 5 лет назад
Я говнокодер) Это лучший день в моей жизни
@robotinthebrain
@robotinthebrain 5 лет назад
Я думаю уйти из кодинга и взять направление хардвера ...
@veleg
@veleg 5 лет назад
функционал ;) Запнулся так запнулся
@nikapairazian
@nikapairazian 6 лет назад
можете сказать по каким видео курсам выучить веб разработку будет наиболее качественно
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Это не могу подсказать
@antonshtihov7662
@antonshtihov7662 6 лет назад
конкретный курс думаю назвать наврядли можно. посмотрите на ютубе курсы html+cssдля начинающих. верстать научитесь можно по jsпочитать. для начала нативный библиотеки и фичи оставте на потом. или вас серверная чамть больше интересует? вообшем надо определиться с направлением для начала! ;))
@Dimarious.G
@Dimarious.G 6 лет назад
Одним курсом не обойтись. Пробуй все, какие заходят, все смотри. Главное пиши руками побольше кода. Старайся не переписывать втупую, а понять, запомнить, закрыть учебный материал, постараться воспроизвести по памяти: так понимание будет лучше.
@Dimarious.G
@Dimarious.G 6 лет назад
Одними видеокурсами, даже, есди много посмотришь, скорее всего, тоже не обойтись. Читай книги. Не обязательно от корки до корки, достаточно читать интересующие главы, заполняя пробелы и постепенно познавая новые аспекты ищучаемой темы. Читай статейки на всяких ваших хабрах. Ищи ответы на конкретные маленькие вопросы и проблемы в гугле, обычно на каком-нибудь стэковерфлоу уже кто-то сталкивался с таким.
@pafnuteus
@pafnuteus 6 лет назад
Самый лучший способ имхо (и не только имхо), это взяться за какую-нибудь конкретную задачу/проект (например, простенькая соц сеть), и начать ее пилить, найдя курс, в котором в качестве примера тоже создают похожий проект.
@johny_doe
@johny_doe 6 лет назад
ура я сеньер
@neonsun6162
@neonsun6162 6 лет назад
это всё слишком идеализированно. В больших программах невозможно делать всё по этим правилам, всегда есть исключения, сложные куски, пояснения почему так сделал и зачем, обходы проблем в API особенно если писать на андроид с поддержкой разных версий, да и самая банальная причина это сжатые сроки и урезанный бюджет на проект, не предусматривающие тестирование и написание идеальново кода. А всё вот это бла бла конечно верно, но возможно лишь в условиях когда нет сроков и полно времени для оптимизации кода, тогда конечно сиди и оптимируй до посинения, но такое в реальности бывает редко.
@itbeard
@itbeard 6 лет назад
А чем кодер отличается от говнокодера?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
говна больше :)
@vyachislove2502
@vyachislove2502 4 года назад
Почему я не нашел тебя раньше...
@alexandrok9213
@alexandrok9213 4 года назад
почему
@Jarovit88
@Jarovit88 4 года назад
Потому
@anatoliigrynchuk3325
@anatoliigrynchuk3325 6 лет назад
Нафиг комментарии - рефакторим немедля - extract method.
@ИльяЗуев-л1ф
@ИльяЗуев-л1ф 6 лет назад
Вот когда только начинаешь и смотря видео понимаешь что ты столько всего не знаешь честно страшно становится как это все в голове может уложиться ??
@SoExpired
@SoExpired 6 лет назад
А врачи как?
@nameeman207
@nameeman207 6 лет назад
Как сьесть слона?
@xlSkyLinelx
@xlSkyLinelx 6 лет назад
Человеческий мозг может хранить ~петабайт информации, теоретически человек может освоить все ныне существующие науки, проблема лишь в том, что жизнь слишком коротка :)
@CooplixThe
@CooplixThe 6 лет назад
Практика, врачи держат куда больше чем программисты и ничо, живут
@ВозьмакГервант
@ВозьмакГервант 6 лет назад
@@xlSkyLinelx 20 петабайт вроде.
@pavelpetrashov2975
@pavelpetrashov2975 5 лет назад
Что тут решать. Автор пишет на JS - значит говнокодер.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 лет назад
Что тут решать. Павел пишет комменты на Ютубе - значит тролль.
@svarodzic
@svarodzic 5 лет назад
Ну блин - жестоко! ))) Зачем же так... надеюсь, что это просто стеб! У меня есть пара друзей JS-ников - и кодеры хорошие и инженеры хорошие!
@tjrfhifitrfignubkdhtne
@tjrfhifitrfignubkdhtne 3 года назад
А если узнал тебя в этом видео, что нужно делать?
@evan_kirk
@evan_kirk 8 месяцев назад
Что ты несёшь?
@MasterSergius
@MasterSergius 6 лет назад
Узнал себя в этом видео: Я - программист )
@Dimarious.G
@Dimarious.G 6 лет назад
@teteteleken нет ты
@КириллЛомовской
Извини, у меня вопрос не по теме, ты жа на Реакте работаешь?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Да
@КириллЛомовской
Тогда я бы хотел задать один вопрос, навряд ли тут можно, что-то сказать, но может, ты что-то дельное посоветуешь. Вопрос сложный я написал его на seniorsoftwarevlogger.userecho.com, заранее спасибо. К сожалению вопрос получился довольно объёмный, но меньше написать не смог, пытался изложить понятно.
@zloy_tushkanchik
@zloy_tushkanchik 6 лет назад
Такое ощущение что на русском говорит, но непонятно. Болгарин что ли?
@dmytrorybachek7921
@dmytrorybachek7921 6 лет назад
Лучшая статья о говнокодинге что я видел learn.javascript.ru/write-unmain-code
@TheNihaonyan
@TheNihaonyan 6 лет назад
это не оригинал
@Intervent89
@Intervent89 6 лет назад
Я тот кто не может написать и говнокод, а только знает как некоторые методы , плак плак
@QueenElizabeth1sth
@QueenElizabeth1sth 5 лет назад
Goto
@ajiekcahdppeperoni7011
@ajiekcahdppeperoni7011 6 лет назад
на js можно писать не говнокод? var that = this; ?
@ИльяБлинков-г9г
@ИльяБлинков-г9г 6 лет назад
Иногда нужно запомнить контекст, такой язык
@ajiekcahdppeperoni7011
@ajiekcahdppeperoni7011 6 лет назад
@@ИльяБлинков-г9г ну да такой язык
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Можно конечно. Контекст можно замкнуть и другими способами.
@ajiekcahdppeperoni7011
@ajiekcahdppeperoni7011 6 лет назад
@@SeniorSoftwareVlogger да, другим костылем
@SageMindWhisper
@SageMindWhisper 6 лет назад
стрелочные функции решают вопрос + var - deprecated
@paterdeus8435
@paterdeus8435 5 лет назад
а как же много щавичимостей, глобальные переменные, дублирование кода, простыни кода, лапша, киайский код, итд, все кроме коментариев технические штуки которым хороший програмер всегда может научится а говнокодеру не поможет никакой гит, а про идеологию патерны архитектуру ничего
@Al-Mas3000
@Al-Mas3000 5 лет назад
автор помешан на форматировании просто))
@InconspicuousChap
@InconspicuousChap 6 месяцев назад
Слушай, ну как будто не знаешь, где живёшь. Берём типовой проект на разработку заказного ПО. Банк А платит подрядчику Б 50 млн, из которых 10 достаются менеджерам банка, подписавшим открытие проекта, 10 - менеджерам бодишопа, 20 уходят на закупку железа (там тоже у людей есть семьи, и надо за "элитный" стеклобетон платить взнос), а на оставшиеся 10 млн 2 программиста, аналитик и тестировщик должны по-быстрому сбацать пару CRUD-сервисов. Какая тут может быть архитектура? Только типовая, проверенная в тысячах других таких же распильных проектов. Распильщики вообще суеверны и не любят рисковать. А как объяснить, что за 50 млн было разработано софта с гулькин хрен? Правильно, никак. Софта должно быть много. 500 тыс строк кода, 1 млн строк. Так что - копипаста, шапки комментариев на 80% объёма файла, бесконечные адаптеры над плохо подходящими фреймворками, названия типов и функций на 50 букв, юнит-тесты на каждый сеттер и геттер, и так вот приближаются к идеалу. Но на серьёзных щах вещают, будто познали всю суть разработки, хотя ни одного кому-то нужного продукта в жизни не написали (бенефициаров распила я не считаю).
@ChronosDaemon
@ChronosDaemon 5 лет назад
много воды, мало пользы...
@EvilYarik
@EvilYarik 5 лет назад
Welcom to future стили проставляются в редакторе и даже чужой код ты видишь в привычном лично тебе формате. В остальном все зависит от работа ли в команде или соло и насколько "тз" залито цементов, в разработке игр, где все меняет по 10 раз, сказанное в видео во многом херня.
@tartaletich394
@tartaletich394 5 лет назад
Можно на русском, пожалуйста?
@АндрейШепшелей
@АндрейШепшелей 6 лет назад
На ruby сложно нагавнокодить, есть rubocop, rdoc изумительный язык))
@alexeymezenin
@alexeymezenin 6 лет назад
Он ругается на функции > 5 строк, на вложенные if/foreach блоки, на вещи вроде if (data['status'] == 0 && data['action'] == 3), на 10 строчные блоки кода, появляющиеся из-за незнания встроенных средств языка или фреймворка?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Можно-можно. Говнокодили, знаем :D
@АндрейШепшелей
@АндрейШепшелей 6 лет назад
Говорят если ты гавнокодишь на ruby, то ты недостоин носить гордое звание рубист, тебе место кодить на python))
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
...а если и там не выходит - то смело иди в джаваскрипт, что я и сделал :D
@MrSevenZZZ
@MrSevenZZZ 6 лет назад
Специализированный инструментарий - мозг. Просьба установить, прежде чем начать заниматься программированием.
@alexeymezenin
@alexeymezenin 6 лет назад
В большинстве сфер писать качественный код можно без мозга. Желание учиться и опыт помогут стать классным разработчиком. Говнокодеры, кстати, это ребята которые уверены, что шибко умные и поэтому они "знают лучше" и учиться им незачем. Таких вывести из говнокодерства - просто нереальная задача.
@gachimuchicapitan2614
@gachimuchicapitan2614 5 лет назад
Нехуя не понял но очень интересно
@БорисОстроумов-т7к
нужно стремиться к тому, чтобы тестов не было вообще, тестирование кода расслабляет человека, не учит его пользоваться отладчиками, сужает понимание кода, как такового. Человек так устроен, что на плохом опыте учится быстрее, поэтому нет смысла покрывать код тестами, кроме разработки ПО, которое управляет ракетами, медицинскими аппаратами, всем тем, что связано со здоровьем. Написание тестов лично у меня увеличивает время разработки в 2.5 раза. Я вместо тестов мог разработать больше функционала, например. Получить больше профита. А так, да, если деньги падают с небес сами, то можно задуматься и над тестами, когда не поджимает время. А так, это вкусовщина. Хорошего разработчика отличает быстрое понимание задачи и способность реализовать в кратчайшие сроки с минимальными усилиями. Это к тому, что сто строк можно заменить одной, а для повторяющихся задач реализовывать собственные библиотеки, причем анализировать на будущее, что может быть переиспользовано
@obiwanus
@obiwanus 6 лет назад
Есть и другая крайность. Люди уделяют много внимания "правильному" написанию кода, но при этом плохо разбираются в программировании, алгоритмах, не знают как работает процессор и операционные системы. Видел примеры.
@alexeymezenin
@alexeymezenin 6 лет назад
15 лет в веб деве. Ни разу не пригодились знание алгоритмов и структур данных, принципов работы процессора и ОС. Все, что ты перечислил успешно продается университетами студентам уже несколько десятилетий. Большинству разработчиков эти "важные" знания не нужны, а вот умение писать качественный индустриальный код необходимо всем.
@christophersparks4121
@christophersparks4121 6 лет назад
Чушь полнейшая... Ты наверное верстальщик.
@alexeymezenin
@alexeymezenin 6 лет назад
Судя по уровню хамства и отсутствию аргументов, твой IQ, наверное, не выше 50.
@PiterTim76
@PiterTim76 5 лет назад
Программист понимает, что он говнокодер. А говнокодер думает, что он программист ))
@svarodzic
@svarodzic 5 лет назад
Мощно! )))
@dicloniusN35
@dicloniusN35 5 лет назад
прямо как психи в больнице
@InconspicuousChap
@InconspicuousChap 6 месяцев назад
Явно недооценённый комментарий. Поставлю штуку баксов, что тысячи говнокодеров нажали здесь дизлайк.
@ilyakuroptev9501
@ilyakuroptev9501 5 лет назад
как говаривал один из преподавателей, "я должен ваш код(Java) читать как художественную литературу, не напрягаясь, не отгадывая что откуда и зачем"
@InconspicuousChap
@InconspicuousChap 6 месяцев назад
Для учебной задачи в 100 строк кода, реализующих бинарный поиск, который этот преподаватель уже 1000 раз видел, может быть, и годный принцип. А пусть он попробует так прочитать алгоритм, которого он не видел.
@isapper
@isapper 5 лет назад
У меня выдержен стиль говнокода, значит я програмист?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 лет назад
Стильный говнокодер
@ainurayegizbayeva319
@ainurayegizbayeva319 5 лет назад
ахахаха😂👍
@dicloniusN35
@dicloniusN35 5 лет назад
говномист)
@avazart614
@avazart614 4 года назад
@@SeniorSoftwareVlogger Не важно откуда растут руки, если они золотые.
@ВасилийПопов-о1щ
эй, гуру программирования, у тебя фейс не в фокусе
@ВасилийПопов-о1щ
@@sawabigboy вся суть говнокодеров/трупрограммеров (не важно)
@thefuturejulio
@thefuturejulio 6 лет назад
Я чуть-чуть говнокодер 1. Плохая история коммитов, т.к. я коммичу обычно в тот момент, когда жалко потерять изменения. Логики при этом мало - все происходит достаточно спонтанно. Стараюсь придерживаться правила "атомарное изменение = коммит", но в реальном процессе это не так быстро привить себе и переучиться, как оказалось 2. Я не понимаю, зачем нужен prettier, если есть eslint. Кмк, они решают одну и ту же задачу, но eslint уже всем известен и понятен, а prettier просто еще одно решение. Месяцем ранее был бы еще более говнокодер, очень помогло научиться думать перед тем, как писать код. Самое фиговое сразу кидаться стучать по кнопкам, сначала надо прикинуть, в том числе продумать корнер кейсы. Потом планирование (конкретно что и где меняем), и только потом код (когда точно знаешь что надо писать). С плохой историей коммитов стал бороться через хуки гита. В репо есть прогоны тестов и линтера, но я себе заблочил возможность коммита, если линтеры не приведены в порядок. Это занимает 15 секунд, но коммитов стало в разы меньше, т.к. получилось избавиться от "lint fix", "flow errors fix", "another flow errors fix". Хз, мб поможет кому
@dimoxx
@dimoxx 3 года назад
Это как судить по почерку рукописного текста о таланте писателя... Т.е. вообще мимо... Почти всё о рюшечках в коде, бестпрактиз и подобных вещах не влияющих на функционал и качество самого кода. Только про чрезмерную сложность и тесты можно отнести действительно к программированию. На мой взгляд, говнокодер, это человек плохо понимающий что делает, чаще всего, скопипащенный им откуда-то, код (своего кода у них обычно мало). Мне, лично, по барабану на большинство опечаток, пропущенные отступы и подобный "стиль" - хорошо, если он есть, но говнокодером за отсутствие точно не назову. А вот когда одна бездумная копипаста другую погоняет и код можно сократить в несколько раз без потери функционала - вот это для меня и есть признаки говнокодера. Когда не используются возможности языка/библиотек упрощающие код. Когда программист не может придумать ничего своего, но очень следит в пул-реквестах за "стилем" тех, кто реально придумывает, выставляя тех говнокодерами за неправильные пробелы и опечатки. И очень жаль, что сейчас тенденция считать таких говнокодеров хорошими спецами только потому, что он делает всё, что описано в данном видео :(
@InconspicuousChap
@InconspicuousChap 6 месяцев назад
Абсолютно в точку.
@ed_tomeyan
@ed_tomeyan 6 лет назад
Сделай что-нибудь с фокусом, пожалуйста. Напрягает глаза)
@al1as643
@al1as643 6 лет назад
С умной рожей восклицаю: 2:23 не версирование, а версионирование! Кстати, Дмитрий, что думаешь по поводу вот этого: habr.com/company/infopulse/blog/345826/?
@Иван-ъ9ц6и
@Иван-ъ9ц6и 6 лет назад
Чувак походу на разговорах зарабатывает больше чем на программировании, молодец. До 100к подписчиков доберешь так вообще кодить не понадобится :)
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Я гляжу ты имеешь слабое представление о заработках на рутьюбе
@Иван-ъ9ц6и
@Иван-ъ9ц6и 6 лет назад
@@SeniorSoftwareVlogger возможно, но по идее если будет много подписчиков то можно будет продавать рекламу общаясь напрямую с рекламодателями, вот там должны быть заработки
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Ахахаха, это ты yubikey прищепкой назвал? :)
@Dimarious.G
@Dimarious.G 6 лет назад
А на чём надо? На мыльницах с присоской и укреплённых плечиках для одежды?😂
@vtirateldu4u
@vtirateldu4u 3 года назад
Написание кода и разбор его это как целое расследование шерлока холмса и доктора ватсона, иногда волосы шевелятся от того откуда что берётся куда что идёт зачем эта функция нужна, что она описывает, а потом вылет вылет вылет 🙏😁шикарный видос. 2 правила пиши чтобы разобрался даже ребёнок, 1 чем меньше написано тем лучше
@mariiasaveleva6724
@mariiasaveleva6724 5 лет назад
Согласна со всеми пунктами из видео. Такой подход действительно очень помогает держать код в порядке, другим разработчикам легче работать с таким кодом (а это важно, когда проект делается в команде). Также такой подход сильно упрощает поддержку (потому что через полгода ты ни за что не вспомнишь, зачем комментировал три строчки тут и еще вон ту переменную в другом классе). Хочу также дополнить, что есть прекрасная книга Clean Coder, где в деталях и с примерами из жизни рассказано, почему все вышеперечисленное хорошо и для проекта, и для разработчика.
@yuriseid3504
@yuriseid3504 5 лет назад
Комментировать необходимо для улучшения параметра читаемости программы. Что бы через несколько месяцев понимать, что именно происходит в коде. Для этого необходимо писать комментарии, хотя бы в одну строку.
@Кулинарноеугаралово
Не нужно, хороший код понятен без комментариев, если код не понятен без комментариев - его написал говнокодер
@Asiro-S
@Asiro-S 4 года назад
@@Кулинарноеугаралово ха-ха-ха, смешно-смешно)) можно посмотреть ваш код?)))
@Кулинарноеугаралово
@@Asiro-S, я комментирую свой код, у меня немного другая сфера в которой приходится все комментировать
@avazart614
@avazart614 4 года назад
Это только касается небольших комментариев в начале файла описывающих задачу и направление решения и проблемные участки в коде где входит путаница/сложность из-за предметной области. В остальных случая да код с комментариями это гавнокод.
@ShcherbynaM
@ShcherbynaM 5 лет назад
"взять и этот кусочек кода удалить" Самый сок, когда для релизов ПО используется бранчевание по версиям, соответственно через несколько бранчей SVN в упор не видит эти самые изменения. Просто привожу пример ситуации, когда комментирование кода вместо удаления - спасает. Я не в курсе как настроен сервер, так как я не RE, а они в свою очередь не будут менять конфигурацию, поэтому просьба об этом не писать.
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 5 лет назад
Используйте гит
@ShcherbynaM
@ShcherbynaM 5 лет назад
@@SeniorSoftwareVlogger , Вы представляете, сколько стоит в международной компании перевести все CI сервера, обучить разработчиков, сконвертировать GIT в SVN (чтобы коммиты были отдельными), и т.д. Это очень большая сумма денег. А ещё это очень большое количество человеко-часов
@wanderer3323
@wanderer3323 6 лет назад
Есть только два типа программистов: if(condition) { //... } и if(condition) { //... } Все остальное от лукавого. А теперь смотрим видео...
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
А ещё есть языки без фигурных скобочек
@fearmear
@fearmear 5 лет назад
Единственно верный вариант: if (condition) // ( { // } //... } // {
@avazart614
@avazart614 4 года назад
@@fearmear Терпеть не могу k&r стиль скобок как до такого можно было дойти.
@ИванДанилин-т7ц
@ИванДанилин-т7ц 5 лет назад
Показал бы сам код... был бы лайк!
@batfist6595
@batfist6595 5 лет назад
Ага, щас
@alexeymezenin
@alexeymezenin 6 лет назад
Отлично все расписал. Последний момент - это главное, что отличает говнокодера от хорошего разработчика. Тем, кто хочет перестать говнокодить, советую прочитать и перечитывать Clean Code by Robert Martin.
@Acid31337
@Acid31337 6 лет назад
Боб разрабатывал байтомешалки на Clojure и Java, поэтому у него есть религиозные убеждения о unit-тестах как о серебряной пуле, что не никак не помогает, и даже вредит, например при разработке Android приложений.
@nikitabobyshew7927
@nikitabobyshew7927 6 лет назад
а чем android-приложения отличаются? и как unit-тесты могут вредить?
@Acid31337
@Acid31337 6 лет назад
@@nikitabobyshew7927 у unit-тестирования android-приложений есть такая особенность: приложение будет рассыпаться на части, а все unit-тесты ни разу не упадут. Зато дадут ложное чувство уверенности. Потому что тестируется не тот код, в котором будут ошибки. - ну так надо тестировать там где возникают ошибки - для этого нужны НЕ unit-тесты.
@ПетроКобзар
@ПетроКобзар 6 лет назад
Камера держала фокус на стенке, а не на лице. Откуда советы? Пахнет книгой: "Чистый код"...
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Из личного опыта. Книгу не читал, но одобряю.
@antongromov8093
@antongromov8093 6 лет назад
Senior Software Vlogger Как вы можете одобрять книгу, если вы её не читали, расскажите, пожалуйста?
@SeniorSoftwareVlogger
@SeniorSoftwareVlogger 6 лет назад
Книгу упомянули раза 3-4 под этим видео с отсылкой на то, что советы похожие. Если это действительно так, то одобряю конечно. Опять же авторитетные для меня люди ее читали и рекомендовали. Достаточно?
@antongromov8093
@antongromov8093 6 лет назад
Senior Software Vlogger да, спасибо за ответ
@nefton001
@nefton001 6 лет назад
Тебе не в программисты надо а в филологи. Один трёп.Где примеры то?
@ОлександрМаховой
С каких пор Киану Ривз на русском говорит?
@Stasakusok
@Stasakusok 6 лет назад
Язык со средой разработки путать - ну это уж простите...
@Trecoolerok
@Trecoolerok 3 года назад
Спасибо за видео. Недавно смотрел одного зарубежного блогера, как оказалось - он русский, но при этом ведёт канал на английском. Основная причина - тонна негатива в комментах. Сейчас подобное замечаю и у вас, даже не знаю, почему в русскоязычном коммьюнити такая ситуация...
@Trecoolerok
@Trecoolerok 3 года назад
И еще вопрос: действительно ли необходимо такое количество коммитов? Мне кажется нехорошей ситуация с огромным количеством коммитов, я даже готов использовать некоторые инструменты для слияния коммитов.
@_4ado
@_4ado 3 года назад
А на английском негатива нету, ага
@alazarn7
@alazarn7 3 года назад
@@_4ado намного меньше, еще и зависит от того, кто на инглише пишет
@_4ado
@_4ado 3 года назад
@@alazarn7 Если ты так считаешь, то значит ты просто не знаешь английский лол
@alazarn7
@alazarn7 3 года назад
@@_4ado вот, русский сразу на личности перешел) ты живое доказательство
Далее
14 признаков плохого кода
17:11
Просмотров 39 тыс.
Секрет логотипа Microsoft
0:46
Просмотров 1,1 млн
ОБЗОР НА ШТАНЫ от БЕЗДNA
00:59
Просмотров 115 тыс.
OpenAI’s New ChatGPT: 7 Incredible Capabilities!
6:27
Тест 6 ИИ программистов
32:33
Просмотров 15 тыс.