2008-10-22 9 views
5

Я работаю над симплинтером C++ и хотел бы показать результаты niceprinter, сравнив код до и после его запуска. Кто-нибудь знает, где я могу найти какой-то уродливый код на C++, который можно выполнить довольно довольно? В идеале код будет поступать из программного обеспечения с открытым исходным кодом.Ugly C++ code

+3

Есть довольно код на C++? Я считаю, что любой код C++ уродливый ;-) SCNR – Mecki

+5

Почему вы работаете на симпатичном принтере, если вы не можете найти какой-то уродливый код? :) –

+0

Мне также интересно, почему кто-то напишет свой собственный «симпатичный». – Tim

ответ

5

Попробуйте выполнить поиск «C++ obfuscation», и вы сможете найти код C++, который трудно прочитать.

2

Еще один хороший тест - принять нормальный код на C++ и посмотреть, как он может переформатировать его на другой стандарт форматирования кода.

2

Не C++, но вы проверили Международный конкурс по обфускации C-кода?

Проверьте некоторые из победителей code

2

Here is a list of bugs поданных против затмения C C++ инструментов проекта /. Многие из ошибок касаются кода, который не был отформатирован правильно, поэтому вы можете увидеть, как они это сделали, и даже посмотреть на исправления, если они решены.

6

Если вы не можете найти хороший корпус уродливого кода, вы всегда можете написать «код uglifier», а затем запустить его на каком-то среднем коде.

Например:

  • Удалить все незначительные пробелы
  • удаление/Вставка случайные пробелы
  • Заменяет вкладки с различным числом пробелов.
+2

+1 для «кода uglifier»: P – Davy8

+1

Я также могу рекомендовать код с http://www.ioccc.org/ –

9

Все, что закодировано в GNU coding standards, придаст вам шикарный стиль отступов. Стеновой пример:

if (x < foo (y, z)) 
    haha = bar[4] + 5; 
else 
    { 
    while (z) 
     { 
     haha += foo (z, z); 
     z--; 
     } 
    return ++x + bar(); 
    } 
+3

Подождите ... WTF это? Это, наверное, самый худший стандарт кодирования. –

+0

Это просто стиль по умолчанию emacs. –

+0

@Thomas: Сначала это выглядит некрасиво, но через некоторое время становится намного легче читать, особенно если вы много программируете. –

1

Возможно, ваш симпатичный принтер? Затем он сможет генерировать уродливый код для подходящих входов.