Сегодня в очередно раз охуел от уровня быдлокода в своей конторе, когда пришлось поработать с другой частью проекта. До этого охуевал, когда приходилось фиксить баги в тех частя, где создатели говногда уже уволились или перевелись на другую должность.Поражает меня не мелкие говняшки, а всецелый подход к проектированию системы и использованных методов решения задач.Сам я постоянно мучаюсь с проблеммой перфекционизма и байтоёбства охуеть как долго могу сидеть и придумывать точные имена, не дублировать сущности и код.Но блять, сегодня что-то во мне хрустнуло. И понял я, что всё это хуйня. Говнокод никак не мешает комерческому успеху продукта. И всем похуй анон, просто ебашь!Хочу предложить тред-опрос на тему качества когда в вашем окружении.
>>920497 (OP)>быдлокода Это очень субъективное понятие. Просто до жути субъективное. Нет никакого точного формального определения ПЛОХОГО КОДА. То что одни назовут говнокодом, другие таковым не посчитают. То, что может показаться на первый взгляд плохим решением, на самом деле может являться самым уместным.То, что может показаться плохим кодом из-за недостаточной продуманности для разных юзкейсов (ага, а вот если мы в эту функцию передадим такой-то объект, то вылетит исключение) - на самом деле может оказаться лишней перегруженностью и оверхедом, а в ту функцию никогда и ни при каких обстоятельствах не должен бы был попасть такой объект, который бы привел к фатальным ошибкам. И так далее и так далее и так далее. Так что твои впечатления об уровне кода в твоей конторе исключительно твои, и само заявление - ЕБАТЬ ОНИ ТУТ ВСЕ БЫДЛОКОДЯТ, ничего и никому кроме тебя самого, не говорит.
>>920497 (OP)просто ты лох, пидор, уебан и просто мудак1. Ты кроешь хуями людей, которые возможно писали код в условиях жесткого дедлайна, которые были уже на грани нервного срыва, которым могло быть уже на все похуй, которые писали проекты "на выброс"2. Ты фиксишь чужие баги, а не кто-то фиксит твои, значит ты не творец, а макака ебаная, чепуш, лошара драная.3. Контора не "твоя" твоего там ничего нет, тебя наняли за еду, что бы как только ты заебешься выпиздовать на хуй.4. Ты говно, не знаешь ничего о проектировании систем, что ты в своей жизни спроектировал, защекан кроме laba1.cpp и proekt_systemi5. Покажи ка нам свой охуительный код, вот даже любопытно стало, неужели у тебя нет твоих pat project.6. Сидит он, придумывает имена, сразу надо придумывать, сделать один раз и хорошо, что бы больше не возвращаться к этому месту, уметь концентрироваться, а ты проебываешься ф-ии переименовывая.
>>920509Ну какбэ вот:http://lurkmore.to/%D0%91%D1%8B%D0%B4%D0%BB%D0%BE%D0%BA%D0%BE%D0%B4%D0%B5%D1%80
>>920526Это не формальное определение, а просто компиляция этих самых субъективностей, которая не говорит ровным счетом ни о чем. >быдлокодер использует неочевидные и абсурдные решения.Неочевидность и абсурдность сами по себе субъективные вещи.>который считает рекурсию мемом башоргаНу запилишь мне рекурсию в языке без хвостовой оптимизации, а я посмеюсь над твоим переполнением стека вызовов. Не нужно считать себя умнее всех. Это и есть основной признак быдлакодера.И уж тем более статья в лурочке, как формализация понятия, это - да.
И алсо. Есть стайлгайды и прочая поебота (линтеры, хуинтеры, документация по оформлению кода и допустимым правилам, языкам).Ты можешь считать себя охуенным программистом, а всех вокруг говном в своей шаражке. А если бы ты попробовал писать в каком-нибудь NASA или военке, по их требованиям к коду и ограничениям, накладываемым на язык - обосрался бы трижды. Все относительно. А из того, что тебя жутко раздражает чужой код, можно сделать возможный вывод, что ты просто не умеешь разбираться в чужом коде.
>>920526>Поведение быдлокодера >10. Считает, что все вокруг тупые уроды, так как не знают некоторых вещей >11. Быдлокодер считает себя Программистом, а остальных, чуть менее, чем всех, — быдлокодерами.
Неизвестно кто ещё говнокодер больший. Байтоёбство вообще признак говнокода отменного, так что ты тот ещё лошара. А имена точные так это вообще пиздец смешно даже. Сколько тебе лет понадобилось, чтобы понять что все говнокодят и это норма?
>>920542да тут зависит от стиля, я например вообще сперва прототип ебашу говнокодищем просто. Затем когда кое-как заработает начинаю вырезать лишние и переделывать классы. Затем еще крепко думаю и пытаюсь оставить кода как можно меньше. Затем заказчики еще такой хуйни напридумывают приходится частично переделывать и опять строить аккуратную структуру. Порой нужно что-то срочно и хуяк-хуяк и в продакшн, какой-нибудь кусок говнокода да и влезет, а часто бывает напишешь, что работает, а на это вдруг и хуй забивают или вспоминают через год. Кроме того есть пиздецово критичная система, я ее уже третий год пишу, тут все делаю неторопливо, добавляю по 200 строчек в год, т.к. она работает на большом количестве объектов и ебу дать не должна ни в коем случае.
>>920509В целом согласен, есть такой момент и без конкретных примеров судить сложно.На предыдущей работе видел программиста который хуячил почти всё на глобальных переменных, приэтом именуя их как I, T1, U, etc.Но это откровенный пиздец, с которого можно только поржать.На текущей работе такого откровенного говна нет, хотя встречаются покрытые паутиной места с функциями на 1,5к строк кода и под сотню условий. И тут ты должен разобраться, что баг был в том, что в определённый момент срабатывают сразу два взаимоисключающих условия. А парсинг бинарных данных с помощью енамов и смещений, когда всё решается банальной упакованной структурой - это охуеть не быдлокод. Это всё от жёстких дедлайнов.Это хуйня, тут человек явно только учился писать программы.Но чаще встречается глобальный архитектурный быдлокод.Например это бывает так. Когда в процессе разработки возникает некоторая проблемма. Эта проблемма решается с применением охуеннешего вилосипеда, когда есть однозначно более правильный и простой метод её решения.Затем вокруг этого велосипеда выросатет невьебенная экосистема которая вростает в проет и требует всё больших велосипедов начная от измения протоколов заканчивая необходимостью использования ебанутых методов и инструментов.>>9205211. Да бывает и такое, но я тут не о людях говорю, а о коде.2. Тут согласен, подписываюсь под каждым словом.3. Аналогично, см пункт 2.4. Тоже правда. Из достоинств могу вспонмить только - веб-сервер для микроконтроллера с паралельной обработкой запросов, мини-файловая система для flash, ну и больше нихуя.5. Нет, к сожалению, охуительныйм кодом похвататься не могу. На это нужно дохуя времени и интересные задачи. А я лишь макака.6. Чтобы придумать срауза, один раз и хорошо, надо сидеть и думать. Имена я рефакторю очень редко. Но в работе сталкиваюсь с подходм - что первое в голову прийдет. Собственно, об чём и тред.
Не, ну есть общие требования, коллега писал сложный парсер бинарного протокола и я воспользовался его кодом, все бы заебись, но он в результате анализа генерировал не класс, а строковый объект, мне пришлось кое-что переделывать, потратил около двух часов. Я бы сделал так, что в результате анализа возвращается объект(там вообще датчиковая информация была) и можно ее хоть в виде строки получить хоть в виде класса, хоть в виде набора структур, ну и еще бы объекты-датчики создал, а он все байтоебством мне передал, код у него рабочий и аккуратный, но вот подумай он сразу о такой хуйне, что его будет еще раз использовать и коллеги будут использовать, сделал бы все по объектной парадигме. Я спросил, какого хуя, а он сказал, да похуй было, говорили давай быстрей. Да я и не стал бугуртить, сам так часто делаю.
>>920573хорошие архитектурные решения находятся не сразу, а когда уже все хуево работает и надо переделывать. Я стараюсь систему на модули дробить достаточно независимый, похуй там на чем они, си, си++, ruby или erlang. Если в модуле около 4-5 тысяч строк и он стал большой проблемой выкидываем на хуй и переписываем как надо, если больше - рефакторим. За 6 лет довольно сложну систему переписали таким образом ну и развивали параллельно.
>>920521> твоего там ничего нетХех, мне предки так же говорили в детстве, в доме ничего твоего нет, как вырастешь и заработаешь -- будет твоё. А когда папашка ебучий обосрался и проебал и бизнес, и дом, обижались, чего это я за НАШЕ не переживаю. А я ехидно их подъёбывал, ну а хуле: не моё же.
>>920623Возможно твой коллега просто решил свою задачу. Например ему надо было распарсить протокол для того чтобы выплюнуть пользователю текст.У тебя же задача не просто выплюнуть, а проанализировать содержание.В обычной практике это норма. Теперь ты станешь умнее и для таких глобальных/повтроно используемых вещей будешь писать универсальные либы. И пинать колегу, делать так же.Предварительно можно убеить начальство, что стоит потратить больше времени вот на эту хуйню.
>>920627да и я так из детства притащил, мамка ебала мне мозг "твоего тут нет ничего", очень блядь обидно было, я же ебаный пиздюк, что тут может вообще моего быть, у меня теперь другая хуйня, все деньги сразу проебываю, т.к. мамка все детство отнимала те что родственники давали, не держатся деньги, не мои, надо просрать
>>920631это ты умней станешь, вот я опытом поделился, а мне уж похуй, я из ай-ти выкатываться планирую года через два
>>920637Красавчег, биз свой да?
>>920636Твой «проёб денег» связан с острой нуждой в них в прошлом. Попробуй лёгкий самогипноз, ну или так подожди, оно само пройдёт.
>>920521>писали код в условиях жесткого дедлайна, >были уже на грани нервного срыва, >писали проекты "на выброс"
>>920651Да, свой бизнес уже несколько лет, параллельно с работой программистом, как результат особых успехов ни в той ни в другой деятельности не достиг, но за годы мытарств набил везде шишек и как это называется "приобрел опыт" совершив все мыслимые ошибки, именно так, я сперва начал программировать(т.к. вкатился из инженеров), а потом уже когда в течении трех лет терпел поражения начал читать книги: сперва по ООД, потом по ООП, потом по языку, потом про рефакторинг и качественный код. Мне вообще сложно осознавать многие советы из учебников, пока на своем опыте не увижу почему это плохо работает и лучше так не делать. Ну т.е. вот помню читал про то что обязательно надо комментарии писать, года три писал, потом вдруг нашел что комментарии лучше не писать, т.е. надо проектировать так что бы все было поянтно, года три придерживался подобной методики, затем понял что кое-где лучше писать. Недавно стал модернизировать код который писал в эпоху веры в "комментарии не нужны", вроде все лаконично и по делу, но сразу не понятно, что написано надо читать код. Комментариев не хватало.
>>920937вообще за 10 лет я достаточно много работал с кодом и с чужими проектами, как-то не позволяю себе подобных высказываний "быдлокод", т.к. для меня это означает, что я сваливаю с себя ответственность за задачу, ты можешь быть и прав обвиняя автора кода в некачественном исполнении, но это не очень конструктивный путь, в общем тебя ведь не экспертом оценить уровень кода позвали, а как специалиста для решения задачи, к чему все эти оправдания, плохо написано, значит ты сможешь сделать все лучше. Можно конечно ныть и кричать "все пидорасы", "говнокодеры" и т.д., но это расход ресурсов на ненужные переживания и эмоции для решения задачи.
>>920940у меня складывается ощущение, что когда человек ругает всех, то он просто боится, он не уверен в себе и заранее подготавливает почву для обосрамса, дескать я старался, но тут так все плохо. Сколько себя помню, никогда руководство не интересовала степень запущенности проблемы и оправдания им тоже слушать было не интересно, так что и смысла тратить время на бесполезные диалоги не было, хотя наверное есть ситуации когда надо о запущенных проблемах доложить, а еще лучше, доложить в письменном виде, очень полезная вещь, т.к. рано или поздно будет разбор полетов в случае объебатушек. Так что когда я берусь за проект, сразу пишу замечания о всех проблемах и впоследствии когда вдруг выдвигают претензии, достаю документы, где черным по белому написаны замечания к оборудованию, программному комплексу, технической документации и т.д. Всю эту бюрократическую хуйню начал вести, когда после чехорды начальников все кто сталкивался с проектами задавали один и тот же вопрос"А хули вы замечания не писали" на что на третий раз я стал доставать письма и эти диалоги резко прекращались.
Почитал тред, развились комплексы, что я буду писать дикий быдлокод.
>>920946понимаешь, если ты встаешь на коньки, то ты как будешь падать, пару раз даже больно и потом ты либо научишся преодолевать страх ехать снова. Либо будешь говорить что коньки это не твое.
>>920946Непереживай, быдлокод как проституция: явление безобразное, но необходимое.
Вброшу тогда и я. опыта у меня особо нету, но где сам такой хуйни наделал, понимаюБыдлокод - как по мне, это либо не рациональное использование ресурсов, либо временные решения, которые потом не переписываются, что потом влечёт за собой технический долг, разбиратся с которым потом нужно будет долго и мучительно.
>>920946Ни сы его всё равно никто не будет читать. Даже и запускать
>>920946Пиши больше. Быстрее поймёшь как делать не надо.Тред задумывался не как троллинг и метание какашек.А чтобы собрать мнения и статистику на счёт быдлокода как явления.И обсудить, норма это или нет.