Бред


Ответить в тред Ответить в тред

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
270 6 66

Аноним 13/10/19 Вск 23:02:33 2054547301
de127nENPZc.jpg (90Кб, 605x807)
605x807
Что такое быдлокод?
Двач, объясни на простых жизненных примерах, что такое быдлокод. Как это.
Аноним 13/10/19 Вск 23:04:02 2054547892
if (mybool.toString() == "true") { }
Аноним 13/10/19 Вск 23:05:18 2054548443
Юзать аякс вместо сокетов, например
Аноним 13/10/19 Вск 23:06:07 2054548784
Аноним 13/10/19 Вск 23:07:43 2054549485
>>205454730 (OP)
Это оператор goto
Это спагетти код
Это использовать один и тот же участок кода каждый раз вместо функции
Это индуский код
Это код без комментариев
Это код где не используется библеотеки
Аноним 13/10/19 Вск 23:08:41 2054550036
>>205454730 (OP)
Про быдлокод громче всех кричат именно быдлокодеры.
Аноним 13/10/19 Вск 23:09:11 2054550317
>>205454948
Два замечания:
> Это код без комментариев
Аноним 13/10/19 Вск 23:09:28 2054550438
>>205455003
Почему ты вместо ответа на вопрос, высрал какую-то нерелевантную хуиту?
Аноним 13/10/19 Вск 23:10:10 2054550769
15693508060240.png (3490Кб, 1470x2048)
1470x2048
Аноним 13/10/19 Вск 23:11:10 20545511910
>>205455031
блять
...
> Это код без комментариев
Хороший код в комментариях не нуждается.

> Это код где не используется библеотеки
Библиотеки менее эффективны, чем код, написанный под конкретные нужды. Т.е. код без библиотек обходится дороже, но это в некотором роде ручная работа. А это не является признаком говнокода.
Аноним 13/10/19 Вск 23:11:32 20545513611
>>205454878
блять а как правильно в этом случае? Это же даже не костыль, а просто проверка по булевой переменной. В чем бля тут быдлокод?
Аноним 13/10/19 Вск 23:12:05 20545516512
>>205455043
Он все верно сказал.
Не существует никакого быдлокода.
Аноним 13/10/19 Вск 23:12:27 20545518213
>>205455119
>Хороший код в комментариях не нуждается
Ты небось и функции не документируешь?
Аноним 13/10/19 Вск 23:12:41 20545519314
>>205455043
Посты читать учись, долбоёб.
Аноним 13/10/19 Вск 23:12:47 20545520115
Аноним 13/10/19 Вск 23:13:10 20545521316
Аноним 13/10/19 Вск 23:13:21 20545522617
1570997577988.jpg (47Кб, 740x567)
740x567
>>205455119
>Библиотеки менее эффективны, чем код, написанный под конкретные нужды. Т.е. код без библиотек обходится дороже, но это в некотором роде ручная работа. А это не является признаком говнокода.
Аноним 13/10/19 Вск 23:13:26 20545523018
>>205455119
Я не думаю что ор сможет сейчас написать норм код так хоть комментарии и либы будут.
Аноним 13/10/19 Вск 23:13:43 20545524119
>>205455136
Петух подразумевает, что все без исключения языки умеют сворачивать это к виду типа if bool1, без сравнения.
Аноним 13/10/19 Вск 23:13:47 20545524220
>>205455119
>Библиотеки менее эффективны, чем код, написанный под конкретные нужды
Ага, конечно, ты всегда напишешь код лучше, чем разрабы библиотеки.
Аноним # OP 13/10/19 Вск 23:13:48 20545524421
Блядь, можно просто жизненными ситуациями описать?
Просто пиздец какой-то. Спросил про одно, а отвечают хуй знает что. Может это и есть быдлокод?
Просят одно, захуяривают другое и нихуя нечитаемое.
Аноним 13/10/19 Вск 23:14:04 20545525522
13/10/19 Вск 23:14:53 20545529923
>>205455076
/thread
срсли, очень доступный и наглядный ответ на вопрос ОПа даже для тех, кто вообще не в курсе, что такое погромирование
Аноним 13/10/19 Вск 23:15:07 20545531224
>>205455241
шо то, шо то. Какая разница, это просто личные предпочтения. А если я хочу писать как студент в 1995 году - значит я быдлокодер?
Аноним 13/10/19 Вск 23:16:25 20545537925
Аноним 13/10/19 Вск 23:16:35 20545538826
>>205455119
>Хороший код в комментариях не нуждается
Ну да, ты щас такой возьмёшь, посмотришь какие-нибудь радиометрические расчёты и поймёшь, что там делается.
Аноним 13/10/19 Вск 23:17:41 20545544527
>>205455312
Ты чо, блядь, охуел?
А где твоя эффективность и скорость разработки?
Аноним 13/10/19 Вск 23:17:50 20545546128
>>205455244
Да что ты за хуйню вообще спрашиваешь? Новички всегда поначалу пишут говно. Главное учиться и не стоять на месте.
Аноним 13/10/19 Вск 23:18:29 20545549129
>>205454730 (OP)
//удалить первый элемент в пользовательском списке

myList <int> mylist{1,2,3,4,5};

mylist.reverse();
mylist.pop_back();
mylist.reverse();

Реальная история, я не троль - видел такую хуйню у одногруппника в лабе.

Так же можно добавить хэдеры без инклуд гардов, using namespace std и т.д.


В общем любое очевидно неэффективное или потенциальное ногопрострельное решение.
Аноним 13/10/19 Вск 23:18:58 20545551730
>>205455182
Называй функции так, чтобы было понятно что они делают и комментарии не понадобятся. Ну и лаконичность приветствуется - хуйня типа kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange не нужна.
Если же функцию не получается назвать коротко и ясно, значит проблема в том, что функция слишком много всего делает, что является признаком плохого дизайна и требует рефакторинга.
Так что я бы даже сказал, что наличие комментов в коде свидетельствует о не самом его высоком уровне качества.
Аноним 13/10/19 Вск 23:19:13 20545552631
>>205455388
это говорит только о непоставленном процессе.
Аноним 13/10/19 Вск 23:19:13 20545552732
>>205455461
Ебана рот.
Вы вопрос понимаете?
Аноним 13/10/19 Вск 23:19:50 20545557133
>>205455527
Ты сам-то понимаешь что спрашиваешь?
Аноним 13/10/19 Вск 23:20:06 20545558734
Аноним 13/10/19 Вск 23:20:28 20545561035
>>205455445
я ее в рот ебал. потому что я РЕТРО
Аноним 13/10/19 Вск 23:21:05 20545564836
>>205455587
удачного быдлокодинга за копейки.
Аноним 13/10/19 Вск 23:21:14 20545566037
>>205455242
Бывают конкретные случаи, где это оправдано. Не нужно полностью избавляться от либ и тратить годы на hello world. Но в некоторых случаях можно добиться большей производительности, избавившись от библиотеки и переписать код руками под конкретную задачу. Библиотеки всегда обобщены и у их авторов нет максимума свободы.
Аноним 13/10/19 Вск 23:21:39 20545568538
>>205455648
свою зп, или пошел нахуй, школьник
Аноним 13/10/19 Вск 23:21:53 20545569639
>>205455610
А ты хоть понимаешь, что каждая лишняя тока с запятой снижает твой заработок на 1К/наносек?
Аноним 13/10/19 Вск 23:23:32 20545577040
>>205455685
хуй с супом тебе не скинуть?
Аноним 13/10/19 Вск 23:23:39 20545577941
>>205455244
Долбаеб, тебе все правильно отвечают. Это относится к программированию, какие нахуй примеры из жизни?
Аноним # OP 13/10/19 Вск 23:23:39 20545578042
>>205455571
Да блядь.
А просил описать жизненную ситуацию.
Допустим
- Принудительно заставить ОПа показать хуй. (пишешь программу).
- ОП хуй решительно не показывает
- Проверяешь молнию, выясняешь цвет трусов.
- После года тестов, выясняется, что ОП тян.
Аноним 13/10/19 Вск 23:23:39 20545578343
>>205455312
>значит я быдлокодер?
Если ты конкретно про эти сравнения, то нет - каждый дрочит как он хочет.
А вот неиспользование библиотек и прочее велосипедостроение, как и игнорирование прогресса в сфере, где ты пишешь, обычно ведёт к хуёвому качеству кода. Вполне можно и быдлокодом назвать такое.
Аноним 13/10/19 Вск 23:24:08 20545580644
Mne v e
Аноним 13/10/19 Вск 23:24:52 20545583945
>>205455779
Да ты просто эникейщик. И нихуя не можешь.
Аноним 13/10/19 Вск 23:26:14 20545591346
>>205455783
ну тут само собой. правда иногда свой велосипед поволяет разобраться как работает чужой
Аноним 13/10/19 Вск 23:27:16 20545597547
>>205455119
>Хороший код в комментариях не нуждается.
Манямирок/10, я конечно сам предпочитаю писать очевидный код, зачастую для этого делая его избыточным по объему, но далеко не всегда это получается рациональным решением по вопросу производительности. В таких случаях без нормальных комментариев ты сам потом будешь сосать дальше чем видеть, когда вернешься в свой же код хотя бы через месяц.
Аноним # OP 13/10/19 Вск 23:27:23 20545598348
>>205455779
>>205455779
У тебя какая-то ошибка команды к приложению что-ли?
Ты понимаешь что ты программируешь? Фантазия на жизнь не распространяется.
Аноним 13/10/19 Вск 23:27:33 20545599449
>>205454730 (OP)
Вообще похуй какой код, главное чтобы работало.
мимо владелец галеры с рабами синьер погромистами за 300к/сек
Аноним 13/10/19 Вск 23:28:25 20545604750
>>205455913
>свой велосипед поволяет разобраться как работает чужой
Так это нормально если надо разобраться. Я иногда сам осознанно хуиту всякую пишу ради эксперимента.
Аноним 13/10/19 Вск 23:29:24 20545611451
>>205455994
а если увидишь что сотрудник в каждом методе создает одну и ту же переменную, вместо назначения общей, что скажешь?
Аноним 13/10/19 Вск 23:30:30 20545618752
Ну я знаю, что с программистами общаться тяжело, но блядь не до такой степени.
Аноним 13/10/19 Вск 23:30:30 20545618853
>>205454730 (OP)
Раз уж такой тред, спрошу.
Хочу перекатиться из кодинга в системное администрирование. Заебали постоянные дедлайны, + я одиночка, а мне, как кодеру, приходится работать в команде, что я не люблю.
А так, устроился в небольшую ламповую фирму, и сычуешь себе перед пекой. Если спросят, говоришь, что конфигурируешь что-нибудь. И всё.
Правда, у меня знаний маловато из этой области. Ну, т.е. поднять на линупсе нджинкс с пхп и оракловской базой могу, но чему-то больше уже придётся учиться.
Какие подводные? 22 лвл
Аноним 13/10/19 Вск 23:30:49 20545621454
Аноним 13/10/19 Вск 23:31:11 20545623155
>>205456114
Если работать не будет, придется его отдолбить.
Аноним 13/10/19 Вск 23:31:45 20545625956
>>205455975
> не всегда это получается рациональным решением по вопросу производительности
Производительность имеет мало общего с читаемостью кода. Можешь привести конкретный пример?

Сторонники комментариев часто забывают о том, что языки программирования являются таки языками и являются средством выражения мысли. Согласись, лучше знать английский, чем смотреть фильм с субтитрами? Соответственно, уметь внятно облекать мысль в код и уметь читать его - лучше, чем писать комменты, нет?
Аноним 13/10/19 Вск 23:32:54 20545632257
>>205456047
пилю щас игрушку на юнити да, геймдевогосподин 400к/сек и после лютейшего говнокода по перемещению персонажа понял, что существует охуенно плавное физическое движение, создаваемое библиотекой юнити, и мое говно, которое лагает пердит и свистит при беге. Но зато САМ СДЕЛОЛ
Аноним 13/10/19 Вск 23:33:37 20545635958
>>205456231
а меня отдолбишь? Обещаю что код работать не будет
Аноним 13/10/19 Вск 23:34:36 20545641059
>>205456359
Давай я тебя без кода отдолблю?
Аноним 13/10/19 Вск 23:36:50 20545651160
image.png (419Кб, 720x456)
720x456
>>205454730 (OP)
Ну ок, представь себе бытовую ситуацию, проблему, которую ты можешь решить быстро и как попало, но зато прилагая минимум усилий, а можешь все-таки потратить сколько-то времени/нервов/денег, но сделать хорошо.
В первом случае тебе, скорее всего, позже придется повторно решать эту проблему, т.к. она снова всплывет. Это и есть быдлокод/говнокод.
Т.е. весь вопрос в том, когда ты получишь профит - немедленно и мало или позже, но много.
Аноним 13/10/19 Вск 23:37:29 20545654361
>>205456322
У меня примерно то же самое было когда я первые парсеры писал - пердолил их на регулярках. Потом нормальные библиотеки стал использовать и охуел как это просто делать через селекторы, а позже уже разобрался нормально с DOM и стал выдёргивать нужные вещи тупо копипастой xPath из браузера и стало ясно что это мартыханское занятие.
Аноним 13/10/19 Вск 23:37:31 20545654662
>>205456188
как минимум "Компьютерные сети" за авторством Олифера. Потом советую скачать Cisco Packet Tracer и курить по нему курсы. Как только освоишь Switching and Routing копишь ~20к и пиздуешь сдавать на сертификат Cisco CCNA (смотря где живешь, но в ДСах сто проц есть центры) Это как минимум, а дальше уже сам разберешься
Аноним 13/10/19 Вск 23:37:42 20545655663
Аноним 13/10/19 Вск 23:37:48 20545656064
>>205456410
не, без кода не интересно
Аноним 13/10/19 Вск 23:39:19 20545662865
Аноним 13/10/19 Вск 23:41:41 20545672766
>>205455244
"Удалять гланды через жопу", например. Или ты щас скажешь, что это из медицины?
Аноним 13/10/19 Вск 23:42:06 20545675067
Аноним 13/10/19 Вск 23:42:25 20545676168
долрт
Аноним 13/10/19 Вск 23:43:57 20545683769
Аноним 13/10/19 Вск 23:44:41 20545687270
>>205456556
Дружок, я писал код еще под 8-битные процы, я далеко не теоретик, поверь. И я проходил через много стадий "нужна/ненужна/гавно/нигавно". В какой-то момент ты понимаешь, что можешь выражать свои мысли не только по-русски или по-английски, но и, например, на С++. В этот момент, бессмысленные комментарии в коде не только не помогают, а начинают мешать.

Особенно бесит хуита для доксигена и прочей шняги. Код получается просто нафарширован говном, хтмлем, слэшами и снова говном. Сука, когда такое вижу, мне хочется убивать людей.
Аноним 13/10/19 Вск 23:46:00 20545695071
>>205456727
Не совсем удачный пример. Удалять гланды через выпиленную дырку в черепе (потому что так удобнее) - более наглядно.
Аноним 13/10/19 Вск 23:47:02 20545700272
>>205456188
мимо джун админ
переходишь в воркач. /wrk
качаешь там CCNA курс, далее если админишь винду то по винде курс если линукс то там по редхату есть.

что надо знать?
поднять телефонию на астере, shell, Tcpdump, iptables,nginx,zfs.
Литература?
Танненбаум, Олифер, Мендель Купер.
Аноним 13/10/19 Вск 23:47:09 20545700773
> но и, например, на С++
Охуеть. Как это. Можно как-то раскрыть.
Ну я понимаю художник выражает свое видение мира на холсте. Кал верблюда разбросал и так он видит пустыню.
Но как это с кодом?
Аноним 13/10/19 Вск 23:47:13 20545701174
>>205455517
Ну это, конечно, из пальца высосанное утверждение. >>205456872
>Дружок, я писал код еще под 8-битные процы
Это тебе сколько, 60 лет? И общаешься ты при этом почему-то как подросток с двачей. Хм....
Аноним 13/10/19 Вск 23:47:25 20545702375
>>205456950
>Удалять

выдувая их глизмой
Аноним 13/10/19 Вск 23:48:32 20545707976
>>205455660
>в некоторых случаях
В том и дело, что число этих случаев ограничено.
Аноним 13/10/19 Вск 23:49:22 20545712277
>>205456872
>Особенно бесит хуита для доксигена и прочей шняги.
А мне наоборот нравится когда комментариев по 10 строк на метод, а сам метод в 1-2 строки. Прямо видишь как мастер одной строкой кода большое дело делает.
Аноним 13/10/19 Вск 23:51:15 20545723278
>>205457007
С кодом так же - хуйни понаписал и думает, что всё понятно.
Типично джунская позиция.
Аноним 13/10/19 Вск 23:51:29 20545724579
>>205454948
>Это код где не используется библеотеки
А что, лучше нахуевертить кучу либ в проект и потом обосраться при обновлении?
Аноним 13/10/19 Вск 23:53:01 20545730980
>>205457007
Сложно объяснить. Другая грамматика или типа того.
На бытовом уровне это ощущается как разбиение мысли/задачи на минимально возможные семантически составляющие, их оптимизация и наслаждение от полученного результата.
Аноним 13/10/19 Вск 23:55:11 20545742181
>>205457079
Никто с этим и не спорит. Задача кода - зарабатывать деньги. Где-то дешевле возспользоваться библиотекой, а где-то - написать свой код (если он будет лучше по каким-либо критериям).
Ведь ты бы не отказался водить автомобиль ручной сборки вместо конвейерной штамповки? Но это на порядки дороже. Так же и с кодом.
Аноним 13/10/19 Вск 23:55:34 20545744682
Аноны, подскажите, насколько мой код является говнокодом. Эта функция проверяет какое слово из массива words является анаграммой по отношению к слову word.

function anagrams(word, words) {
let anagramWords = [];
words.forEach(function (anagramWord) {
if(anagramWord.length!=word.length) {
return;
}
let equal = true;
let anagramWordCopy = anagramWord.split('').slice().sort();
let wordCopy = word.split('').slice().sort();
for(i = 0; i<=wordCopy.length; i++) {
if(wordCopy!=anagramWordCopy) {
equal = false;
break;
}
}
if(equal) {
anagramWords.push(anagramWord);
}
});
return anagramWords;
}

А вот та же самая функция, написанная другими разработчиками. Как научиться писать так коротко и охуенно как они? Ведь мой длинный код полюбому работает медленнее и хуже.

№1
String.prototype.sort = function() {
return this.split("").sort().join("");
};

function anagrams(word, words) {
return words.filter(function(x) {
return x.sort() === word.sort();
});
}

№2
function anagrams(word, words) {
word = word.split('').sort().join('');
return words.filter(function(v) {return word == v.split('').sort().join('');});
}

№3

let anagrams = (word, words) => words.filter(w => w.split('').sort().join('') === word.split('').sort().join(''));
Аноним 13/10/19 Вск 23:55:36 20545744883
>>205457007
на самом деле когда долго над чем то разбираешься в языке, постоянно думаешь как что реализовать, почему так а не так - ирл реально многое воспринимаешь как код. Например иду вечером домой и типа "может быть shop.BuyBeer(); бля money <= 0 " Так что это нихуя не рофл - программирование та еще залупа. Я уже молчу про gamedev и 3D добичей которые при виде лужи на земле говорят "о, заебись шейдер". Есть у меня друг такой

другой анон
Аноним 13/10/19 Вск 23:56:34 20545750184
Пользуясь случаем хочу сказать как у меня печёт от СОЛИД принципов и от ПАТТЕРНОВ.

Ну ладно там я понимаю когда закладывается реально огромный проект с тысячами классов. Но блять когда пишется сраный каталог товаров, или какая-нибудь гостевуха, то тут конечно пиздец как важно захуярить абстрактную фабрику или соблюсти принцип Барбары Лисков. В итоге получается что бизнес-логики на 10 строк, а всякого архитектурного говна на 1000.
Аноним 13/10/19 Вск 23:56:58 20545751885
>>205457421
Более того, бывают случаи, когда библитечная реализация вполне себе мирно сосуществует с велосипедом на стероидах в пределах одного проекта. Например строки.
Аноним 13/10/19 Вск 23:58:04 20545758486
>>205457446
>Как научиться писать так коротко и охуенно как они?
Посмотрел на чужой код - разобрал как он работает - в следующий раз уже сможешь сам применять.
Аноним 13/10/19 Вск 23:58:06 20545758787
15704468271492.jpg (31Кб, 360x480)
360x480
поцтавьте винодовс 10. Это говнокод.
Аноним 13/10/19 Вск 23:58:59 20545763388
>>205454948
>Это использовать один и тот же участок кода каждый раз вместо функции

Так разве кто-то пишет?
Аноним 13/10/19 Вск 23:59:08 20545763989
>>205457448
При виде лужи начинаешь анализировать, как же это природа сделала - через повторный рендер сцены или через скринспейс реймарчинг.
Аноним 14/10/19 Пнд 00:01:06 20545775190
>>205457639
или удивляешься, почему при ветре все вокруг колышется и нихуя не лагает
Аноним 14/10/19 Пнд 00:02:13 20545782291
>>205457501
У тебя печёт от их незнания, поэтому у тебя типичное НИНУЖНО. Никто тебя не заставляет писать правильно - пиши как хочешь.
Написанное с применением различных абстракций обычно более гибко, расширяемо и универсально чем твой подход.
Аноним 14/10/19 Пнд 00:02:28 20545783892
>>205457584
Насколько это дрочево с codewars поможет мне повысить какие-то скиллы именно для коммерческой разработки? Там задания по сравнению строк, перебору массивов, геометрические задания и т.д. Насколько это всё приносит реальной пользвы?
Аноним 14/10/19 Пнд 00:02:32 20545784593
>>205457501
Вот! Хороший пример пример быдлокода. А точнее, неграмотного его примененения. Ведь быдлокод вполне решает свои задачи в кратосрочной перспективе. Так если проект нужен здесь и сейчас и развиваться дальше не будет, почему бы и не наговнякать хуйни по-быстрому и не тратить время и деньги там, где это не нужно?
Аноним 14/10/19 Пнд 00:03:04 20545787694
>>205457633

Это само собой получается. Потом видишь, что где-то что-то похоже и надо объединить.

Ну и ещё так для оптимизации делают. Если inline компилятор не поддерживает. Демосценер какой-нибудь может заебашить макрос, который сгенерирует многа-многа кода. Зато быстрее, чем в функцию ходить.
Аноним 14/10/19 Пнд 00:03:33 20545790495
Аноним 14/10/19 Пнд 00:04:40 20545797296
>>205457845
Продолжу мысль. Парадоксально, но в случае с гостевухой, неприменение быдлокода как раз является быдлокодом.
Аноним 14/10/19 Пнд 00:05:15 20545800997
>>205457876
Никто не мешает запилить инлайн-функцию
Аноним 14/10/19 Пнд 00:06:23 20545806798
>>205455660
>Но в некоторых случаях можно добиться большей производительности
Преждевременная оптимизация - общеизвестный антипаттерн.
Вообще изобретать велосипеды для улучшения производительности...
Ну я могу, например представить такой кейс при написании кастомного запроса в БД вместо использования стандартных средств ORM.
Скажем так, это все - узкие и редкие кейсы. В современном мире проще десяток нод докупить в кластер чем платить 300кк/сек за рефакторинг быдлокода.
ОП, кстати, молодец. Такой себе трололо опрос. Быдлокод это понятие который каждый определяет сам для себя а потом можно до хрипоты спорить над этим понятием.
Аноним 14/10/19 Пнд 00:06:45 20545808599
ОП, сучечка, ты своим вопросом меня аж из ридонли выдернул, лол.
мимо-куча-ответов-в-треде
Аноним 14/10/19 Пнд 00:07:08 205458111100
>>205454730 (OP)
>Что такое быдлокод?

Код написанный индусами, хохлами, ребятами из юго-восточной азии и южной америки.

мимо прогер из германии
Аноним 14/10/19 Пнд 00:07:28 205458126101
>>205458067
А кто говорит про преждевременную оптимизацию?
Аноним 14/10/19 Пнд 00:09:14 205458218102
>>205455517
Как минимум, регэкспы НУЖНО комментить.
Кто не комментит регэксп - тот червь-пидор.
Аноним 14/10/19 Пнд 00:09:52 205458258103
Аноним 14/10/19 Пнд 00:10:01 205458266104
>>205455780
это не быдло код, это даун на программисте.
Аноним 14/10/19 Пнд 00:10:20 205458282105
>>205457972
Фух, ты меня успокоил. Сколько раз писал каталоги товаров - никогда не задумывался о паттернах, архитектуре и прочем, хотя подозревал, что пишу как-то неправильно, не по-трушному. А просто хуякал что-то в стиле:

$id = intval($_GET['id']);
$query = mysql_query("SELECT * FROM `products` WHERE `category`=$id");

while($product = mysql_fetch_array($query)) {

echo '<span class="title">'.$product['title'].'</span>';
...


Но стыдно до сих пор. Слышал что-то о фреймворках, но думаю их освоение хотя бы на начальном уровне займет год-два, ибо нихуя не секу.
Аноним 14/10/19 Пнд 00:10:33 205458291106
>>205458218
Язык регэкспов - тот же язык. Если ты на нем с трудом изъясняешься, то это только твои проблемы.
Аноним 14/10/19 Пнд 00:10:40 205458296107
>>205455783
>неиспользование библиотек и прочее велосипедостроение
Большое вам спасибо, пидорасы. Теперь для того, чтобы загрузить банальную страничку со статьёй, мне нужно подгрузить целый контейнеровоз всяких свистелок и перделок, которые почему-то считаются прогрессом. Что это за мир, где даже для банального увеличения ссылки при наведении, используется библиотека, которая больше всего контента на странице?
Аноним 14/10/19 Пнд 00:10:55 205458313108
>>205458218
для этого есть regexp101. Ну а если не знаешь, спроси Бена Форту или книжку Орайли.
Аноним 14/10/19 Пнд 00:11:00 205458319109
Аноним 14/10/19 Пнд 00:12:08 205458386110
Аноны, подскажите, насколько мой код является говнокодом по десятибалльной: >>205457446
Аноним 14/10/19 Пнд 00:12:20 205458397111
>>205458282
Поспешу расстроить. Даже мелкие проекты следует стремиться делать правильно, чтобы накопить экспы.
Другое дело, если у тебя уже 80-й лвл, а проект можно сделать за один вечер, если применить говнокод.
Аноним 14/10/19 Пнд 00:12:29 205458405112
>>205454948
>Это код где не используется библеотеки
Этого сразу нахуй, вспоминаю с ужасом проекты, где какой-нибудь просто функционал, который можно за пару дней написать, зато тянутся 100500 библиотек, библиотеки тянут еще свои зависимости, в итоге в проекте уже их гора целая, они глючат, не на всех платформах и конфигурациях работают, добавляют своих багов, и в итоге вместо простоты и элегантности одна сплошная жопа.
Аноним 14/10/19 Пнд 00:12:46 205458417113
>>205458126
никто, просто ремарка к тому, что реально необходимость изобретать встречается гораздо реже чем они изобретаются в реальности
Аноним 14/10/19 Пнд 00:14:25 205458487114
>>205455119
>Хороший код в комментариях не нуждается
Я бы тебе ебало сломал при встрече пидора кусок
Аноним 14/10/19 Пнд 00:14:31 205458489115
>>205458296
Если бы всё писали руками, токсик, то никакой бы банальной странички со статёй ты бы не увидел - смотрел бы телейвизер. Разработка была бы дико дорогим занятием, что тормозило бы весь интернет.
Кого вообще волнует трафик в 2к19 году, тем более кодовый? У тебя картинка с двача в 2 раза больше весит чем пяток этих библиотек на странице.
Аноним 14/10/19 Пнд 00:15:31 205458537116
>>205458282
Вот это как раз говнокод. У тебя смешаны модели, контроль и представления, в итоге будет много повтору, код будет сопротивляться расширению и изменениям, очень быстро нарастет сложность и разветвленность. Такого качества код годится только на сайты однодневки ставить, где особо не нужно возиться, ну или фриланс, где сделал да забыл.
Аноним 14/10/19 Пнд 00:15:37 205458547117
>>205458397
Окей, подскажи как бы ты сделал отображение товаров в каталоге.

Алсо, на этой неделе впервые попробовал RedBean. Оказалось так охуенно. Не надо ебаться с запросами и защитой от SQL-инъекций. Даже таблицы создавать не надо, они генерируются на лету. Вот я пиздец столько просрал лишнего времени раньше, когда не пользовался этой охуенной штукой.
Аноним 14/10/19 Пнд 00:16:24 205458584118
>>205458291
Я тебя щас на суахили нахуй пошлю, а если ты не поймешь, насру твоей матери на лицо.
Доступно объяснил?
Если на языке регэкспа изъясняется 1 человек из 100к, это не их проблема, а того, кто осознавая масштабы пользования этим языком, не комментирует то что он накалякал.
Аноним 14/10/19 Пнд 00:16:41 205458605119
>>205458386
Нахуй иди - никому не всралось твои каракули тут разбирать.
Аноним 14/10/19 Пнд 00:17:05 205458638120
>>205458605
За всю доску ответчик, шизик?
Аноним 14/10/19 Пнд 00:17:26 205458662121
>>205458417
Возможно, спорить не буду. Однако, в моей практике такие задачи встречаются с завидным постоянством.
Вот пример. В проекте используется STL и, соответственно, std::string. Внезапно возникает необходимость хранить в памяти миллионы строк.
std::vector<std::string>? Да, работать будет, все ок. Но если, учесть то, что строки не меняются, то можно это дело очень неплохо оптимизировать - все строки null-terminated и хранятся в одном непрерывном куске памяти. Опаньки, получаем просто адский буст по перфомансу, памяти, аллокациям и аллаху. Какая из библиотек предоставляет подобное решение? И зачем мне вообще библиотеки, если подобная фигня пишется за полчаса?
Аноним 14/10/19 Пнд 00:17:42 205458675122
Аноним 14/10/19 Пнд 00:18:03 205458696123
>>205458282
енджой йор дроп тейбл в качестве идшника из хтмлстринга
Аноним 14/10/19 Пнд 00:18:22 205458710124
>>205458547
ORMки хуета, если нагруженный проект, они много тормозов добавляют и память жрут. А защита от инъекций есть в pdo уже.
Аноним 14/10/19 Пнд 00:18:39 205458725125
>>205458537
>У тебя смешаны модели, контроль и представления
А как бы ты это сделал? Не доебуюсь, а хочу искренне разобраться в теме.
Аноним 14/10/19 Пнд 00:18:44 205458733126
>>205458547
>Алсо, на этой неделе впервые попробовал RedBean. Оказалось так охуенно.
Ты ещё фреймворки не пробовал. Я тоже как-то охуел, когда круд на 5 сущностей с эндпоинтами за 3 часа написал, вместо недели.
Аноним 14/10/19 Пнд 00:19:15 205458757127
>>205458547
Сорян, с SQL и вебней на "вы". Я больше по лоу-левелу. С++, 3D там, все такое.
Аноним 14/10/19 Пнд 00:19:36 205458775128
>>205458725
Логика в контроллере
Данные в модели
Вывод во вьюхе
Аноним 14/10/19 Пнд 00:19:40 205458779129
>>205455119
Потом после таких пидорасов как ты, которые считают, что они пишут "хороший код", приходится тратить лишние часы чтобы отдебажить написанное ими дерьмо. Любая адекватная IDE уже автодоки хуярит, настроить только нужно. Но нет же, слишком сложно для таких гениев, которые пишут идеальный код
Аноним 14/10/19 Пнд 00:19:57 205458793130
>>205458584
Не используй регекспы, шлюший сын. В чем проблема-то?
Аноним 14/10/19 Пнд 00:19:58 205458796131
>>205458710
>защита от инъекций есть в pdo уже
Чет я на хабре статью почитал, а там пишут что нихуя не защищает. Поэтому решил попробовать ORMки, т.к. заебался писать корявую хуету с htmlspecialchars и mysql_real_escape_strings.
Аноним 14/10/19 Пнд 00:19:59 205458798132
Аноним 14/10/19 Пнд 00:20:19 205458812133
>>205458725
>Не доебуюсь
блять как же вот эти пидарасы заебали.
Сука, НЕ ДОЕБЫВАТЬ, доебатор хуев.
Аноним 14/10/19 Пнд 00:20:42 205458837134
>>205455780
А быдлокод тут причем? Это неправильно решенная задача.
Аноним 14/10/19 Пнд 00:20:51 205458844135
>>205458733
Можно кратко в трех предложениях? Интересно стало. Тоже хочу ускорить свой труд.
Аноним 14/10/19 Пнд 00:21:06 205458860136
>>205458793
Ебучий сын спидозной собаки, а если такой кадр как ты окажется на проекте, а мне потом за ним сопровождать его дерьмо, что прикажешь делать, блять?
Аноним 14/10/19 Пнд 00:21:25 205458884137
Аноним 14/10/19 Пнд 00:21:27 205458885138
>>205458793
Добавлю еще, что сам их не люблю и не использую. Но мне хватает духу признать, что это моя проблема, а не регекспов.
Аноним 14/10/19 Пнд 00:21:31 205458891139
>>205458696
>$id = intval($_GET['id']);
Это ты не заметил, умник?
Аноним 14/10/19 Пнд 00:22:09 205458926140
>>205457838
Помогает в языке разобраться и алгоритмах. Со всякими паттернами и проектированием конечно не поможет.
Аноним 14/10/19 Пнд 00:22:31 205458942141
>>205458812
Я знаю как правильно пишется, но мне нравится писать именно так. Это как со словом "жопа": все знают что пишется так, но на двачах смешнее писать "жёппа". Сразу +10 к юморности фразы.
Аноним 14/10/19 Пнд 00:22:54 205458959142
>>205457838
>codewars
Какие ещё есть похожие сайты?
Аноним 14/10/19 Пнд 00:22:55 205458960143
>>205458775
Аааа, ну теперь понял, спасибо.
Аноним 14/10/19 Пнд 00:24:00 205459013144
>>205458926
Что такое паттерн? Можешь привести пример простого паттерна в виде кода?
Аноним 14/10/19 Пнд 00:24:12 205459020145
>>205455165
>Не существует никакого быдлокода.
Существует, ой как существует. От конкретных вещей вроде упоротого стиля написания заканчивая еще более упоротыми архитектурными решениями, когда для этого не было никаких технических причин.

- пачки вложенных тернарников или глубокие пирамиды if'ов;
- ехал регэкс через регэкс вместо кода;
- отсутствие нормального наименования переменных и функций;
- даже банальное несоответствие принятым в сфере гайдлайнам, когда например нормальный разработчик бы давал хуки стандартизированные в соответствующих местах, а у тебя все захардкожено к хуям потому что иди нахуй вот почему;
- про отсутствие комментариев уже писали, но лишний раз стоит упомянуть;
Аноним 14/10/19 Пнд 00:24:13 205459021146
>>205458733
>crud
>неделя разработки
Ну это уже какая-то страшилка получается
Аноним 14/10/19 Пнд 00:24:28 205459033147
>>205458860
Изучай регекспы, сгусток менструации, если ты работаешь с людьми, которые их применяют. Или делай что-то свое (как я), тогда кодобаза будет такой, как хочешь ты.
Такими темпами ты будешь обвинять коллег в том, что они изъясняются на С++, питоне, etc.
Если ты разработчик софта, то будь добр, знай свое дело. А если не нравится, то всегда есть кассы в пятерочках.
Аноним 14/10/19 Пнд 00:24:33 205459041148
>>205458844
Там обычно уже есть всё что надо для работы искаропки + удобная дока. Самому только бизнес логику писать, причём на вполне высоком уровне, а не функциями пхп.
Аноним 14/10/19 Пнд 00:24:55 205459060149
Аноним 14/10/19 Пнд 00:24:58 205459063150
>>205458796
>Чет я на хабре статью почитал, а там пишут что нихуя не защищает.
Хабрадауны видно писали, по дефолту в pdo bind юзаешь, нормально все защищено.
Аноним 14/10/19 Пнд 00:25:12 205459070151
>>205459020
> пачки вложенных тернарников
Аноним 14/10/19 Пнд 00:25:14 205459072152
>>205459020
>пачки вложенных тернарников или глубокие пирамиды if'ов
На что заменить предлагаешь?
Аноним 14/10/19 Пнд 00:25:27 205459087153
>>205455241
Только чтобы использовать if (bool1){} - bool1 должно быть не bool1, а имя по которому понятно что это логический тип
Например isOpHooi (я предпочитаю добавлять is, так еще понятнее, что это не какой-то объект класса, а именно булево значение).
Вообще по тырпрайз опыту с огромными проектами могу смело заявить, что код надо писать так, чтобы было понятно что к чему и без редакторов/ide. В каких-то местах это добавляет громоздкости, но для поддержки большой кодовой базы оно того стоит
Аноним 14/10/19 Пнд 00:25:36 205459098154
>>205459020
> пачки вложенных тернарников
О да! Грешновато, но какой кайф!
Аноним 14/10/19 Пнд 00:25:39 205459104155
>>205458282
>mysql_query
Как там живется в 2010?
Аноним 14/10/19 Пнд 00:26:17 205459138156
>>205459041
Так что именно мне нужно себе скачать и установить, чтоб было искаропки?
Аноним 14/10/19 Пнд 00:26:34 205459153157
>>205454948
>Это оператор goto
Использование оператора goto может быть вполне оправданно во многих ситуациях. Не использовать его вообще в подходящих ситуациях - признак макаки, которой запретили, но не объяснили, почему. Для меня, например, вынос двойного лупа в отдельную функцию для избежания goto - гораздо больший говнокод, чем сам goto (особенно в языках без поддержки указателей).

>Это использовать один и тот же участок кода каждый раз вместо функции
Согласен. Главное не плодить однострочные функции, т.к. это нечитабельно, а в ЯП без указателей ещё чревато лишним копированием данных в обе стороны, что в итоге приводит к потере производительности.

>Это код без комментариев
Излишнее комментирование (очевидных вещей в частности) тоже вредно. Лучше всего объединять код в блоки по 1-10 строчек лишним newline, и комментировать то, что в этом блоке происходит (кроме ситуаций, когда комментарий необходим отдельно каждой строчке). Есть вещи, к которым комментарии не нужны - например, функция вида bool reverse_list(list^);, занимающая объем не больше 10 строчек. Любому будет ясно, что функция принимает указатель на список и возвращает успешность операции.

>Это код где не используется библиотеки
Здесь не согласен по многим причинам. Даже стандартные, проверенные годами, библиотеки зачастую сильно проигрывают в производительности костыльным решениям, куда уж там написанные когда-то на коленке для конкретного (не твоего) случая чужие решения с гитхаба.
Аноним 14/10/19 Пнд 00:26:35 205459154158
Аноним 14/10/19 Пнд 00:26:40 205459160159
>>205459041
> на вполне высоком уровне
> а не функциями пхп.
/0
Мне кажется, мы стали забывать ассемблер
Аноним 14/10/19 Пнд 00:26:44 205459166160
>>205457245
>потом обосраться при обновлении?
Никто не заставляет тебя обновлять библиотеки. Если библиотека работает правильно и внедрена в приложения, то нет никакой необходимости в её обновлении.
Аноним 14/10/19 Пнд 00:27:27 205459199161
>>205459087

что вообще скажешь по тырпрайзу. Стоит идти устраиваться? К примеру у меня норм знания c#, но я не хочу сидеть дома и попенсорсить, а хочу на РАБотку. Куда идти, что учить?
Аноним 14/10/19 Пнд 00:28:08 205459231162
>>205459013
>Что такое паттерн?
Ну у тебя и вопросы на ночь.
>Можешь привести пример простого паттерна в виде кода?
Не, я с телефона в кроватке лежу. Так-то это гуглится очень просто.
Аноним 14/10/19 Пнд 00:28:16 205459238163
>>205459153
Мне в голову приходит единственное применение goto - когда нужно выйти из 2+ вложенного цикла. Зачем он еще нужен?
Аноним 14/10/19 Пнд 00:28:27 205459242164
>>205459153
>оправдывать гото
Сразу видно чела, которой не работал на нормальной галере
Аноним 14/10/19 Пнд 00:29:03 205459272165
>>205459153
> Лучше всего объединять код в блоки по 1-10 строчек лишним newline, и комментировать то, что в этом блоке происходит
Почему не разбить это на функции? Тогда комментарии можно выкинуть.
Аноним 14/10/19 Пнд 00:29:35 205459295166
>>205458796
> т.к. заебался писать корявую хуету с htmlspecialchars и mysql_real_escape_strings.
Бляя, какого года php ты юзаешь,mysql_real_escape_string устарел давным давно. Книги хоть новые покупай, давно такой хуйни там нет.
Аноним 14/10/19 Пнд 00:29:55 205459312167
Быдлокод это

if (a > b) {
   return x;
}
else {
   return y;
}

вместо

return (a > b) ? x : y;
Аноним 14/10/19 Пнд 00:30:09 205459321168
>>205459104
Заебись, доллар по 30, чебурнета нет.
Аноним 14/10/19 Пнд 00:30:30 205459332169
Аноним 14/10/19 Пнд 00:30:55 205459345170
>>205459033
Человек золотого дождя твоего пьяного отца, ты путаешь белое с мягким. Если проект на питоне никто не будет возмущаться применением питона. Если сишный - аналогично. Но если блять какой-то долбоеб на джава стеке решит захуярить ассмеблерную вставку и не подпишет ее что она делает, а главное нахуя он это сделал - его демоны в аду выебут так же как тебя в детстве.
Юзаешь нетипичное говно - напиши, блять, зачем и чо она делает. Нахуя выебываться и требовать от разрабочтика софта то, чего он не обязан знать и тратить лишнее время, только чтобы твое самомнение о себе, как о знающем какую-нибудь необычную хуету, не пострадало.
Аноним 14/10/19 Пнд 00:31:39 205459378171
>>205457838
>codewars
Решал там задачи на пистоне, в итоге самые заплюсованные решения - вложенные list comprehensions. Даже там, где это не нужно. Причём заплюсованы как хорошая практика.
Аноним 14/10/19 Пнд 00:31:58 205459393172
>>205459160
К чему ты это написал? Ты про абстракции не слышал? На чистом пыхе сегодня не пишет уже никто кроме вкатывальщиков и дремучих хелловордщиков.

Одно дело долго и уныло дёргать пдо и совсем другое прописать пару строк и получить полноценный контроль над таблицей. Например.
Аноним 14/10/19 Пнд 00:32:06 205459397173
>>205456259
>Производительность имеет мало общего с читаемостью кода. Можешь привести конкретный пример?
Да легко, например, использование сложных регэксов вместо прописывания алгоритма просто кодом. Например, когда мутантским одним запросом к БД сразу получают результат, перекладывая потенциальную "сложность" алгоритма (на самом деле скорее объем кода) на сложность самого запроса. Например, всякие пачки изъебистых операций вроде байтовых сдвигов и прочего рака используется для оптимизации вместо читаемого кода. Обычно тебе похуй и ты такое не делаешь, но если параша уперлась в какие-то ограничения и подобная оптимизация нужна, то без комментариев потом возвращаться туда грустно.
Аноним 14/10/19 Пнд 00:32:26 205459415174
>>205459312
Не, в конторах первый вариант посчитают Ъ, а второй "нечитаемым".
Аноним 14/10/19 Пнд 00:32:28 205459418175
>>205459332
Бля, вот эти >&:?:1>(<2) заебали шо пиздос. Без поллитра одну строчку кода не разберешь
Аноним 14/10/19 Пнд 00:32:52 205459432176
>>205459199
Учи .net core (asp.net core) 2 и 3. Микросервисную архитектуру (docker, k8s и подобное), рест, графкл, mssql (обычно есть для этого люди, но немного шарить самому тоже надо). Работа с многопоточностью должна быть отточена на идеально, особенно с учетом облачности. Советую еще полистать что-нибудь по кешированию.
Аноним 14/10/19 Пнд 00:33:15 205459446177
>>205454844
сокеты гавно без задач причем гораздо более сложно мимо пробовал написать сервер к этой параше
Аноним 14/10/19 Пнд 00:34:00 205459481178
>>205459432
спасибо анон, пойду грызть
Аноним 14/10/19 Пнд 00:34:02 205459483179
>>205459397
>пачки изъебистых операций вроде байтовых сдвигов и прочего рака
Щас тебе местный шизик расскажет, что если не умеешь сходу прочесть это говно, то ты долбоеб
Аноним 14/10/19 Пнд 00:35:14 205459546180
Подскажите, как на php работать с многопоточностью??
Аноним 14/10/19 Пнд 00:37:23 205459635181
>>205459312
Нет, if-else это нормальный код, а твоя хуета в некоторых местах только подходит.
Аноним 14/10/19 Пнд 00:37:56 205459664182
>>205459345
Еще раз - в чем проблема не юзать "нетипичное говно"?
Аноним 14/10/19 Пнд 00:38:34 205459695183
>>205459393
Совсем вы там, в своей вебне, охуели
Аноним 14/10/19 Пнд 00:39:16 205459725184
Долго ещё в пых завозить стрелочные функции будут? Достало уже писать ретурн функтион ()

Когда там у них новая версия с этим говном?
Аноним 14/10/19 Пнд 00:40:10 205459771185
>>205459483
Если ты пишешь на языке, в котором такое есть
Аноним 14/10/19 Пнд 00:40:16 205459776186
>>205459725
В чем понт стрелочных функций? На днях дошел до этого пункта, но не понял. Чем плох стандартный вариант function name()?
Аноним 14/10/19 Пнд 00:40:47 205459803187
>>205459483
Если ты пишешь на языке, в котором такое есть, но не понимаешь этого, то проблема, очевидно, не в языке, а в тебе.
Аноним 14/10/19 Пнд 00:41:09 205459815188
>>205459415
И правильно сделают, тащемта, ибо для компилятора разницы нет, а для человека, который будет, возможно, в этот код что-нибудь добавлять - есть. Вот всралось мне, например, вставить ещё какое-нибудь действие перед ретёрном икса, и чё мне теперь, всё условие с нуля писать?
Аноним 14/10/19 Пнд 00:41:22 205459823189
Аноним 14/10/19 Пнд 00:41:35 205459833190
>>205459378
Приведи примеры, где это не нужно, мистер_пишу_классы_по_любому_поводу.
Аноним 14/10/19 Пнд 00:42:47 205459885191
>>205459776
В том то и дело, что там анонимные функции, а не именнованные.
Бывает иной раз такая залупа, что глаза вытекают - когда назначается анонимный коллбэк, который возвращает другой анонимный коллбэк. Бля, там такая каша получается, аж в глазах слезится.
Аноним 14/10/19 Пнд 00:44:14 205459944192
>>205459397
Сорян, не врубился. Регексп вместо портянки - это же медленнее?

> вроде байтовых сдвигов и прочего рака используется для оптимизации
Уже крайне редко используется. А если используется, то в таких проектах, где знание этого необходимо. Ну типа, пилите с друзьяшками очередной крузис, натыкаешься на строчку x >> 1 и сразу в голове возникает x * 2.
Аноним 14/10/19 Пнд 00:45:00 205459968193
>>205455242
Не подумай, я сам люблю использовать готовые решения и т.д., но довольно часто даже популярные устоявшиеся библиотеки это такое днище, что пиздец. Про баги я даже лишний раз говорить не буду, качество кода внутри ебанутое, ну а хуле опенсорс, никому не интересно чинить баги (а кому интересно, то их патчи годами валяются в ожидания мерджа азаза). А еще зачастую нихуя не могут нужные штуки сделать. Например, популярная библиотека для интеграции рекламы одной рекламной сети в специальное окружение, "все" юзают её, скачек вагоны, апдейты как бы выходят и т.д., т.е. не заброшенное нихуя. А что толку? Оно очень топорно инициализуется, нихуя не гибкое в плане размещения, поддерживает всего чуть больше половины доступных форматов (при этом их элементарно добавить можно, если ты готов держать у себя форк либы, хуле они это сами не сделали не понятно). А как финиш очень убогая документация. Зато готовое лел. В итоге, либо хуево, но готовое, либо у тебя будет форк этого говна, либо ты забьешь и напилишь сам.
Аноним 14/10/19 Пнд 00:45:22 205459981194
>>205454948
написал человек,который нихрена не программировал
Аноним 14/10/19 Пнд 00:45:50 205460001195
>>205459885
Писать в php с горой колбэков признак говнокода как раз. Это в node.js весь смысл, потому что javascript так работает, а в php нахуя? Там берешь SOLID и делишь весь код на классы и dependency injection, получается расширяемо и легко понятно.
Аноним 14/10/19 Пнд 00:48:31 205460106196
>>205459944
>Регексп вместо портянки - это же медленнее?
Зависит от случая к случаю. Просто у некоторых даунов из мира кодинга боязнь большого объема кода и вместо того чтобы написать несколько строчек кода они ебашат однострочный мутантский регэкс, который ты потом даже понимая регэксы заебешься читать, понимать и главное править/чинить.
Аноним 14/10/19 Пнд 00:48:50 205460119197
>>205459833
Когда один list comp вложен в другой. Или когда условие сложнее простого сравнения.
Аноним 14/10/19 Пнд 00:48:54 205460123198
>>205459238
Когда необходимо совершить переход, но вынос в функцию будет неоправдан по производительности (или попросту невозможен). Классический пример: хэндлинг ошибок в функции, возвращающей некое значение:
int foobar(int x) {
if(!foo(x)) goto err;
if(!bar(x)) goto err;
return x;
err:
//handle error
return 0;
}
Сразу вернуть 0 не получится, т.к. ещё нужно, например, закрыть хэндлеры. Само собой, некоторые более современные ЯП могут предложить для этого сахар, и даже не всегда в ущерб читабельность (но кидание эксепшенов с try-catch в некоторых ЯП может быть достаточно дорогим).

>>205459272
Если этот код используется один раз - сильно уменьшает читабельность, т.к. потом кто-то охуеет от количества одноразовых функций, да и скроллить туда-сюда каждый раз не так удобно, особенно если функции раскиданы по разным файлам, а ещё может быть ударом по производительности - лишнее копирование переменных. Понятно, что когда кусок используется несколько раз - выносить стоит, но ради одного раза это имеет смысл разве что для того, что бы не срать кучей локальных переменных в main().
Аноним 14/10/19 Пнд 00:49:17 205460146199
>>205460001
>потому что javascript так работает
Как работает? С этого места поподробнее.

>Там берешь SOLID и делишь весь код на классы и dependency injection
Чего ты несёшь? Почему в js я не могу солид делать?
Аноним 14/10/19 Пнд 00:50:03 205460174200
>>205454730 (OP)
>Что такое быдлокод?
Приведу пример из собственной практики, когда устроился в одну небольшую программистскую конторку.
Конторка как выяснилось изготавливала программулину для немецких гос.учреждений определенной разновидностей.
При помощи этой программы граждане могли подавать заявления, а чиновники обрабатывать эти заявления.
Написано всё было на php с использованием всех сопутствующих технологий.

Когда я увидел исходный код этой программы, я ужаснулся. Например, главный компонент программы был генератором различных полей для формы. Разновидностей полей было очень много, несколько сотен. Но код всех этих разновидностей находился в одном файле, где при помощи else-if перечислялась логика работы каждого из полей. Причем код для каждого из полей состоял примерно на 50-95% из копипасты. В последствии мне пришлось разбить этот файл на несколько сотен файлов. В каждом файле появился класс, отвечающий за работу одного только поля формы. Все эти классы стали наследником одного главного класса, в котором хранилась вся коппипаста. Заняло эта переработка примерно месяца 2, но зато после того как работа был выполнена, все вздохнули с облегчением.

Аноним 14/10/19 Пнд 00:50:25 205460191201
>>205457011
36 лвл. Z80 и аналоги. Ну и дальше.

А общаюсь так, чтобы местные меня понимали. Начитаешься ваших двачей а потом кекаешь.
Аноним 14/10/19 Пнд 00:51:25 205460238202
>>205459072
Я не против if'ов как таковых, то когда у тебя залупа на несколько сотен строчек из вложенных if'ов это не особо окей. Понятно, что иногда (но редко) без этого не как, но лучше найти варианты хотя бы подробить это на отдельные функции и упростить структуру, как раз таки для читаемости.
Аноним 14/10/19 Пнд 00:52:07 205460275203
>>205460106
Понимаю, бро. Добра тебе.
Аноним 14/10/19 Пнд 00:52:15 205460282204
>>205454730 (OP)
имхо. в мк это как минимум поллинг вместо прерываний и dma(прямой доступ к памяти).
прерывания позволяют выполнять несколько задач "параллельно". в кавычках потому,что мк выполняя одну задачу,при прерывании,переключается на функцию обработчик ,выполняет необходимое и возвращается обратно.
при поллинге все операции выполняются строго последовательно,да еще и с задержками и возможной потерей данных,если в нужный момент мк окажется не на той инструкции.
Аноним 14/10/19 Пнд 00:54:31 205460372205
Чё, опять программач в /б переехал?
Аноним 14/10/19 Пнд 00:55:10 205460407206
>>205460123
> кто-то охуеет от количества одноразовых функций
Соглашусь, да. Можно применять лямбды внутри фукнции (С++). Тогда они фактически будут поделены на функции, но в пределах одного скоупа. Ну и плюс, рефачить так проще.
Аноним 14/10/19 Пнд 01:02:04 205460694207
Screenshot1835.png (43Кб, 734x611)
734x611
Аноним 14/10/19 Пнд 01:03:47 205460779208
Аноним 14/10/19 Пнд 01:04:01 205460795209
>>205460119
>Когда один list comp вложен в другой.
Не беда, просто вложенного цикла.

>Или когда условие сложнее простого сравнения.
А тут в чём проблема?
Аноним 14/10/19 Пнд 01:04:46 205460829210
Когда ты станешь разгибать пальцы как крI-()т0й рАзРаБ0ТчИк, вот тогда любой чужой код будешь называть быдлокодом, вот это самое оно.

Если без юмора, то любой код который правильно выполняет свою задачу корректен по умолчанию. Стандартов чистоты и правильности кода нет, рекомендации идут нахуй вместе с патернами и тем сладким говном, которое ныне льется ручьями. Более того, иногда такая задача просто не ставится - пиши как хочешь главное чтобы было быстро, правила тут диктует бизнес. А условная "чистота" - явление синтетическое, основанное на чьем-то имхо. Позволяет компилятор goto? Код работает корректно? Ну и пошли все нахуй.

Аноним 14/10/19 Пнд 01:06:05 205460892211
>>205460829
^ петух
посмотрел бы я на твое лицо когда тебе вывали бы "корректное" легаси дерьмо и сказали - поддерживай, Вася
Аноним 14/10/19 Пнд 01:06:16 205460905212
>>205460779
Хотел показать более короткий вариант, что бы не напугать с проверками на -1
Аноним 14/10/19 Пнд 01:07:04 205460939213
>>205460795
И там, и там проблема в читаемости.
Аноним 14/10/19 Пнд 01:08:15 205460990214
>>205460694
Всегда хихикаю с этого
>===
Аноним 14/10/19 Пнд 01:08:22 205460997215
>>205460829
Толсто.
Вот именно когда народ начинает писать без гайдлайнов, а как получится - тогда говнокод и выходит.
Выполнение задачи это только часть разработки, а есть ещё и поддержка. Как ты эту хуйню с goto будешь поддерживать, когда там логики порядочно насыпет - одному Исусу известно, но поебёшься от души.
Аноним 14/10/19 Пнд 01:08:33 205461009216
>>205460407
Можно, конечно. Но нужно ли? Если это просто тот же код, но упакованный в анонимную лямбду, то особого смысла это иметь не будет. Исключение - кусок кода, не требующий много копирования для входа/выхода из лямбды, но в то же время требующий создание заметного количества локальных переменных (но т.к. такое встречается не слишком часто, то не грех будет и в отдельную функцию вынести). Кстате, читал, что в C# ввели более читаемую альтернативу анонимных лямбд - локальные функции. Лямбдам, конечно, можно найти применение, но, в конце концов, это просто альтернативный сахар для условного перехода, и специально их совать куда попало тоже не стоит.
Аноним 14/10/19 Пнд 01:08:35 205461013217
>>205460892
>посмотрел бы я на твое лицо когда тебе вывали бы "корректное" легаси дерьмо и сказали - поддерживай, Вася

И не раз, и не два, и на разных языках. Поэтому умею делать из говна конфетку, в отличие от ноющих сучек, случайно попавших в профессию.
Аноним 14/10/19 Пнд 01:09:20 205461053218
>>205460990
Что тебе сделали строгие сравнения?
Аноним 14/10/19 Пнд 01:11:08 205461141219
>>205461013
В профессию ассенизатора?
14/10/19 Пнд 01:12:50 205461209220
Аноним 14/10/19 Пнд 01:13:50 205461252221
>>205461209
А что ты на ассемблере пишешь в 2019 году?
Аноним 14/10/19 Пнд 01:14:32 205461277222
>>205460997
>Выполнение задачи это только часть разработки, а есть ещё и поддержка. Как ты эту хуйню с goto будешь поддерживать

Бизнес поставит задачу я это говно отполирую как кот яйца весной. Задачи такой нет. Тем более что иногда когда начинается правильный ООП, код становится менее читабельным и более жирным, хотя реально пишется на раз - написал, отладил, забыл.
Аноним 14/10/19 Пнд 01:14:33 205461279223
>>205460892
Так блядь и есть вася, если конкурируешь с индусами за кореу хоеьа на поддержке легаси. Вообще не похуй как код написан? Тебе за часы платят? Если платят, то заебись, а если ты ебаный раб о котого требуют производительность как у станка, то пошел нахуй.
Аноним 14/10/19 Пнд 01:16:41 205461376224
>>205461009
Лямблы в шарпах хороши для обфускации кода, если одни лямбды, то разобраться в декомпилированном коде очень тяжело.
Аноним 14/10/19 Пнд 01:17:23 205461412225
>>205460174
А вот еще один пример из той же самой программулины.
Говнокодер, который писал эту программу в течении многих лет, видимо не знал о существовании логических операций, и поэтому если ему нужно было сделать логическую операцию, то он заменял её набором из нескольких вложенных if-ов.
Например если ему нужно было написать
if (a && b) {},

он писал так:

if (a) {
if (b) {

}
}

Вместо же оператора ИЛИ в бой вступала коппипаста:

if (a) {
коппипаста
}

if (b) {
коппипаста
}


Аноним 14/10/19 Пнд 01:17:37 205461428226
>>205461277
>Бизнес поставит задачу я это говно отполирую как кот яйца весной.
А я сразу стараюсь писать нормально. Мне нравится то, чем я занимаюсь, в в отличие от ноющих сучек, случайно попавших в профессию.
Аноним 14/10/19 Пнд 01:19:36 205461518227
>>205461428
>А я сразу стараюсь писать нормально. Мне нравится то, чем я занимаюсь, в в отличие от ноющих сучек, случайно попавших в профессию.
Кисо ты обиделось чтолэ? Нормально же общались! Ну ладно, не куксись, иди я тебя потискую, моя усатая программисточка.
Аноним 14/10/19 Пнд 01:20:07 205461547228
Аноним 14/10/19 Пнд 01:20:34 205461570229
>>205461013
>>205461279
Понимаешь в чем прикол, по факту ты не занимаешься улучшением существующего или разработкой нового, а просто доводишь до нормального состояния то, что должны были сделать до тебя. С каждой такой задачей ты останавливаешься (а то и вовсе идешь назад), а не шагаешь вперед в светлое будущее. Это в принципе не плохо, если твой потолок - быть простым писакой, кодерком то бишь. Но если ты хочешь стать ниибаца программистом, то рефакторить чужой говнокод - так себе тренировка для этого. Обычно, кстати, это на студентоту спихивают (даже не джунов).
Аноним 14/10/19 Пнд 01:21:28 205461610230
>>205459199
>Стоит идти устраиваться?
Нет.
Аноним 14/10/19 Пнд 01:23:20 205461687231
>>205461412
Дай угадаю, речь о каком нибудь старом пропитом делфисте? Такую дичь видал только у таких.
Аноним 14/10/19 Пнд 01:24:17 205461724232
>>205461376
Декомпилятор может их нормально и не сможет декомпилировать, но вот для специалиста по CIL (или ASM, что менее вероятно) они будут выглядеть просто как набор условных переходов (функции), что, конечно, прибавит времени на отсеивание мишуры, но вряд ли серьезно усложнит задачу (если проект, конечно, достойный; просто для отсеивания возможности пиздинга кода подойдет).
Аноним 14/10/19 Пнд 01:24:55 205461755233
>>205461687
>старом пропитом делфисте
Откуда такой стереотип? В делфи нету логических операций?
Аноним 14/10/19 Пнд 01:27:31 205461866234
>>205461687
Begin твою мать. Помню как сейчас эти button1.click
Аноним 14/10/19 Пнд 01:27:35 205461868235
>>205461376
>>205461724
А как оборачивать в лямбды всё? Обфускаторы это делают? Анализируют файлы и там где вызовы методов меняют их на лямбда выражения или как?
Аноним 14/10/19 Пнд 01:29:32 205461954236
>>205461547
Он был самым первом программистом в этой компании, а так как шефы в программировании совсем не разбирались и не разбираются, то поэтому они не заподозрили ничего подозрительного.
Впрочем этим самым шефам нужно отдать должное. Им удавалось фтюхивать заказчикам его отборнейший тормозной говнокод за вполне приличные деньги.
Аноним 14/10/19 Пнд 01:30:43 205461999237
>>205461570
>разработкой нового
Этим вообще мало кто может заниматься в россии, в основном галимый корпоративный софт, который потсотому разу повторяет всем известные велосипеды.
Аноним 14/10/19 Пнд 01:31:36 205462034238
>>205461868
Я точно не знаю как это происходит именно в шарпе, но думаю что делается это так:
вместо лямбды создаётся обычная функция и ей присваивается названия навроде "func14587".
Аноним 14/10/19 Пнд 01:33:00 205462083239
>>205461755
Нет, просто все делфисты, которых я видел за свою жизнь были странного вида дядьками. Один устроился к нам в контору, а на следующий день пришёл бухой, ушёл на обед и не вернулся :с
Наши микросервисы на делфи, доставшиеся в наследство с 2009 года - лютый пиздец с вечной кучей проблем.
Аноним 14/10/19 Пнд 01:33:21 205462091240
>>205461868
Ну типа того, правда обфускаторы ещё и методы перименовывают в какой-то набор цифр например. Пнрменные и вообще весь нейминг перехерачивают на случайные цифры. Потом такой код хуй прочтёшь.
Аноним 14/10/19 Пнд 01:34:04 205462114241
>>205462083
>Один устроился к нам в контору, а на следующий день пришёл бухой, ушёл на обед и не вернулся
Так откуда ты тогда знаешь его код? Не думаю, что будучи пьяным он много накодил за 2-3 часа, если он вообще этим в тот день занимался.
Аноним 14/10/19 Пнд 01:35:17 205462152242
>>205461868
Лямбда - это, по сути, и есть функция, только с другим сахаром. Скомпилируй обе и глянь в ассемблере. Насчет обычной анонимной лямбды не уверен, т.к. компилятор её может как-то оптимизировать, а вот лямбда в C#, прицепленная к эвенту, точно должна компилироваться в условный переход (т.е. вызываться call в asm).
Аноним 14/10/19 Пнд 01:35:22 205462155243
>>205462114
Я же говорю - общие впечатления.
Аноним 14/10/19 Пнд 01:38:38 205462258244
>>205462152
Я знаю. Просто написали, что их можно использовать для обфускации. Но ты же не будешь в оригинальном коде их использовать, а только при компиляции. То есть пишешь обычными методами, а потом они должны замениться на лямбды в релизном билде, например.
Аноним 14/10/19 Пнд 01:40:20 205462304245
>>205460407
Ты на крестах лямбды применяешь вообще? Т.к. скорее всего, ты либо изучаешь кресты (и применяешь их для лучшего понимания), либо перекатился туда из кое-какого конкретного языка, в котором лямбды используют весьма активно (JS). А может быть даже и то, и другое
Аноним 14/10/19 Пнд 01:45:41 205462463246
>>205462258
Как я писал выше - для специалиста на ASM они вообще не станут серьезной проблемой. Это больше делается как защита "от дурака", т.е. от автоматических декомпиляторов. А польза, кстате, со временем может пропасть, когда компиляторы научатся в "optimize away" эти лишние лямбды (уверен, если даже g++ с O3 не умеет это сейчас, то научится делать в ближайшее время; но само собой, с оптимизациями код, который необходимо защитить, никто компилировать не будет).
Аноним 14/10/19 Пнд 01:46:29 205462489247
>>205454878
Лучше так:
>if length('true') == 4
>then
> return true;
>end if;
Аноним 14/10/19 Пнд 01:52:13 205462657248
>>205454730 (OP)
Методы больше 5 строк
Наследование вместо композиции
Больше одного уровня наследования
Неговорящие названия типа temp, ret, x
Больше одного уровня вложенности в методе
Велосипеды
Нарушение solid
итд
Аноним 14/10/19 Пнд 01:53:06 205462678249
>>205455119
>Хороший код в комментариях не нуждается
Таких далбаебов надо увольнять с волчьим билетом и никогда не брать на работу в программирование. Какой бы пиздатый код не был, ты сэкономишь много часов времени тому, кто будешь разбираться в твоем легаси на 500 тыщ строк, что происходит в твоем ебаном куске кода, и почему это написано именно так, а не по-другому.
Аноним 14/10/19 Пнд 01:54:36 205462707250
>>205462678
Если названия класса и метода недостаточно и код требует комментарий это плохой код
Аноним 14/10/19 Пнд 01:56:10 205462745251
>>205454730 (OP)
Тот код который не может понять любое быдло, тот который может понять только гений который его написал
Аноним 14/10/19 Пнд 01:56:54 205462764252
>>205462707
Предлагаешь все выкинуть к хуям и переписать по-нормальному?
Аноним 14/10/19 Пнд 01:58:44 205462810253
>>205462764
Почему? Можно работать и с говнокодом. Если есть время можно переписать
Аноним 14/10/19 Пнд 02:11:11 205463147254
>>205462657
>Методы больше 5 строк
Вот здесь явный перебор.
Аноним 14/10/19 Пнд 02:19:16 205463401255
>>205454948
>Это код без комментариев
Зачем комментарии, если и так очевидно, что происходит? т.е. функция с вменяемым названием вместо func_123456, все переменные разделены на условные f для файла, i,j,k для индексов в итераторах и price/login для соответствующих полей. Вообще лично я считаю, что комментарии нужны только там, где ты делаешь какую-то хрень, которая вот совсем неочевидна, например быстрый обратный квадрат в кваке

>Это код где не используется библеотеки
зависит от того, что за библиотека, допустим писать свой коннектор к постгресу или qsort нахуй не надо, но, допустим, какую-то мелочь можно и заимплементить самому.
Аноним 14/10/19 Пнд 02:30:39 205463746256
>>205462657
>Наследование вместо композиции
>Больше одного уровня наследования
Интересно, когда хейтить ООП выйдет из моды, на что переключатся такие, как ты?
Аноним 14/10/19 Пнд 02:33:22 205463817257
>>205463746
У него ещё останется хейт в сторону goto. Он из моды вряд ли выйдет в ближайшее десятилетие
Аноним 14/10/19 Пнд 02:37:53 205463918258
>>205463817
Ну goto-то практически общепризнанно плохая практика.
И я вообще не видел, чтобы кто-то этим пользовался (даже из тех, кто не является идейными противниками).
Аноним 14/10/19 Пнд 02:45:27 205464049259
>>205463918
Не тот язык программирования, наверное. В JS или Java ты его вряд ли увидишь, конечно, а вот на языках более низкого уровня по типу C/++ вполне реально встретить даже в крупных проектах
Аноним 14/10/19 Пнд 02:49:47 205464123260
>>205464049
А из "языков более низкого уровня" только C и C++ и остались.
И это сегодня очень специфическая ниша. Наверное, для целей оптимизации goto где-то может быть смысл использовать.
Кстати, я могу ошибаться, но в Java этой конструкции в принципе нет, да и в JS наверное тоже.
Аноним 14/10/19 Пнд 02:49:49 205464124261
>>205463918
Там вон выше по треду объяснили, в каких ситуациях применение goto оправданно
>>205460123
>>205459153
Но это опять таки на C
Аноним 14/10/19 Пнд 02:54:53 205464227262
Аноним 14/10/19 Пнд 03:05:35 205464428263
>>205464123
>А из "языков более низкого уровня" только C и C++ и остались.
Из используемых - да. Хотя можно ещё вставить шутеечку про легаси на COBOL

>И это сегодня очень специфическая ниша.
C да, а вот кресты ещё дофига где используются, начиная от десктоп-приложений и заканчивая играми и 3D графикой

>но в Java этой конструкции в принципе нет, да и в JS тоже
Ого, вот это оплошность с моей стороны. Ладно ещё JS, который я только самую малость щупал на ноде, но с Java я облажался конкретно (но там хотя бы лабелы есть для выхода из вложенных циклов, что не дает байтоебам сделать харакири из-за отдельных методов для них). В C#, кстате, goto есть, да и в огромной куче других ЯП тоже, но польза от них падает с ростом возможностей языка
Аноним 14/10/19 Пнд 03:17:42 205464630264
>>205454730 (OP)
Втентакль пиксель баттл, слышал? Вот это образец быдлокодинга.
Аноним 14/10/19 Пнд 03:33:07 205464927265
>>205464428
>легаси на COBOL
Не знаю, насколько он низкоуровневый, его же вроде модернизируют кое-как, новые версии выпускают? Но легко могу поверить, что низкоуровневый.
Тогда можно ещё и Фортран вспомнить.
Ну и это легаси на КОБОЛ - на Западе, в СНГ его совсем нет или практически нет.
Подозреваю, что asm намного живее КОБОЛа.
>В C#, кстате, goto есть
Да, и я это знаю.
Но не используется.
Сам факт того, что многие даже не знаю, где оно есть, а где нет, о многом говорит.
Аноним 14/10/19 Пнд 04:15:09 205465628266
>>205458662
аллокатор пишешь и продолжаешь использовать вектор строк
Аноним 14/10/19 Пнд 04:16:23 205465651267
>>205454730 (OP)
Когда в модель или контроллер вхуярены куски HTML'я
Аноним 14/10/19 Пнд 08:51:15 205470586268
Я всегда знал, что на дваче больше всего школьников и пограмистов, лол. Этот тред наловил последних.
а так, вы сидите на поделии быдлокодера и не одного
Аноним 14/10/19 Пнд 09:09:11 205471051269
>>205458405
http://bash.org/?891175
* polykurt gets pissed off when seemingly simple programs have lots of dependencies on other packages. People are taught to worship the concept of software reuse, but they take it too far. I should write a C library called libtruncate. Every time somebody needs to truncate an array, they will feel obligated to use my library instead of writing five lines of their own code to do the job. And I will make libtruncate depend on Gnome _and_ KDE _and_ JAVA
Аноним 14/10/19 Пнд 09:12:12 205471152270
>>205465651
это когда вообще есть модель и контроллер

мимо фронтэндер
Аноним 14/10/19 Пнд 09:15:43 205471279271
>>205471152
>мимо даун
поправил, друже
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 20Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
X
Ваш шидевор X
Стикеры X
Избранное / Топ тредов