LINUX.ORG.RU

Разыскивается говнокод

 , , ,


0

4

Привет ЛОР!

Разыскивается безобразный код на С/С++!

Вот прям чтоб мозг взорвался при чтении!

Желательно, - под микроконтроллеры или embedded linux.

Приветствуются:

  • магические числа прямо в коде, без определения константы,
  • операции с правкой i внутри цикла for (i=0;…),
  • прямые (не через колбэк) вызовы функций верхнего уровня из нижнего,
  • переполняющиеся буфера,
  • программмирование копипастой,
  • китайский и индусский код,
  • любые другие антипаттерны!

Практически любой скетч для абдурины, по очевидным причинам.

Stanson ★★★★★
()

переполняющиеся буфера

Cast @Benis.

ashot ★★★★
()

Чем тебе второй пункт не угодил? Это обычная практика, по крайней мере для Си. Первый и третий тоже не так чтобы фатальные проблемы, местами можно так делать.

firkax ★★★★★
()

Прямо кода нет (да и там всё равно NDA), но самое адское, что я видел - это наверное переходы по goto внутрь веток if-а и тела while-цикла.

sergej ★★★★★
()

Любой сгенерированный код всякие yacc lex и иже с ними.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от sergej

Пффф ты не видел мой парсер конфига на вложенных свичах. goto легко читается вот метка, а вот переход всё просто, а влодженные свичи когда на каждом case сразу ещё swich и так в глубь раз 10 отетадаааааа ))) Зато потом всё очень быстро работало.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Ну если всё портянка на 10 экранов, то читать такое конечно тяжеловато.

Но в упомянутом говнокоде там же не просто кто-то goto поставил. Там вся логика на этом была построена. Исправляли переписыванием с нуля :)

sergej ★★★★★
()

Рецепт:

  • берёшь C++ код нормального человека,
  • компиляешь с флагом -O3,
  • дизассемблишь бинарь,
  • транслируешь опкоды транслятором обратно в C++.

И вот и плов готов.

Dr64h ★★★
()

Откройте исходники ядра/загрузчика Mediatek’а, особенно mt6577. Их, я думаю, можно сразу в книгу рекордов Гиннеса записывать. По говнoкoду

anonymous
()

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

alysnix ★★★
()
Ответ на: комментарий от NAY_GIGGER

Если без шуток, то сомневаюсь что, что-то сильно поменяется, хотя я такого ещё не пробовал. Можешь сам попробовать и отписаться.

Dr64h ★★★
()

Разыскивается говнокод

Однако ТРУДНУЮ ЗАДАЧУ ВЫ ПОСТАВИЛИ.

Не сведущ в этих вопросах! ... 
anonymous
()

Разыскивается говнокод

Шутка

Нужно кастануть ЛУЧШИХ с этого форума
Иначе

УДАЧИ НИ ВИДАТЬ! ...
anonymous
()

безобразный

Сначала прочитал как «безопасный» и был очень удивлён списку…

CYB3R ★★★★★
()
Ответ на: комментарий от anonymous

Да как ЖЕ ты ЗАЕ

БАЛ ЕБА
ный ДЕГенеРАТ... !..!.

блядские модераторы, доколе этот пидор будет валить сюда свое говно?

anonymous
()
Ответ на: комментарий от Keltir

Ха, ну ты шутник. А у тебя там код ядра винды не завалялся случаем?

Dr64h ★★★
()
Ответ на: комментарий от anonymous

Посмотри у меня на гитхабе.

Эдуард … Жаль, что в тот раз мы так и не ВСТРЕТИЛИСЬ.

НО ВСЕ ХОРОШО, ЧТО ХОРОШО КОНЧАЕТСЯ ...

Владимир

anonymous
()

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

demidrol ★★★★★
()
Ответ на: комментарий от anonymous

НЕМЕДЛЕННО ПОКАЙТЕСЬ. скази на небиси, преформанс писи, с плюсами С, асемблер не беси!

Psychosis
()
Ответ на: комментарий от Dr64h

Если без шуток, то сомневаюсь что, что-то сильно поменяется, хотя я такого ещё не пробовал.

Смотря как написано. Может много всего поменяться. Очень много, и это интересно, можно видеть оптимизации компилятора, и кое-что писать изначально также, чтобы компилятору не приходилось этого делать, и компиляция была быстрее, а также чтобы была выше производительность в дебажных сборках.

fsb4000 ★★★★★
()
Последнее исправление: fsb4000 (всего исправлений: 1)
Ответ на: комментарий от firkax

Второй - это самый меньший из грехов. И да, я видел, во что превращается код от 1 и 3!

shkolnick-kun ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Нет. Ищу тестовое задание для потенциальных внешних исполнителей. Типа отправить файл/ссылку и попросить найти недостатки.

shkolnick-kun ★★★★★
() автор топика
 echo "g(i,x,t,o){return((3&x&(i*((3&i>>16?\"BY}6YB6%\":\"Qj}6jQ6%\")[t%8]+51)>>o))<<4);};main(i,n,s){for(i=0;;i++)putchar(g(i,1,n=i>>14,12)+g(i,s=i>>17,n^i>>13,10)+g(i,s/3,n+((i>>11)%3),10)+g(i,s/5,8+n-((i>>10)%3),9));}"|gcc -xc -&&./a.out|aplay 
x86-
()

Не си/плюсы, но на чём сча веб делают. Почти всё)))

burato ★★★★★
()

операции с правкой i внутри цикла for (i=0;…),

Пфф. Да в каждом втором цикле:

for (auto it = xx.begin();  it != xx.end();  ) {
    if (doSomething(*it)) {
        ++it;
    } else {
        it = xx.erase(it);
    }
}
dimgel ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Ищу тестовое задание для потенциальных внешних исполнителей.

У нас заняло какое-то время выкатить тест в котором в каждой строчке ошибка. Это реально непросто, требовало определённой креативности ;)

bugfixer ★★★★★
()

любые другие антипаттерны!

Могу кстати ещё докинуть пунктик, хотя и без примера кода:

  • смешенный C и C++ стиль.

Плюсы вообще провоцируют писать как хошь, потому что на них можно писать как хошь. И вообще не факт что этот пункт – антипаттерн.

dimgel ★★★★★
()
Последнее исправление: dimgel (всего исправлений: 1)
Ответ на: комментарий от dimgel

Поделись хоть кусочком. Любопытно как такое может выглядеть.

По многим причинам - не могу. Не в последнюю очередь - деанонамизироваться крайне не хочется ;) Пусть я останусь «местным балаболом» ;)

bugfixer ★★★★★
()
Ответ на: комментарий от anonymous

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

slapin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.