2008-10-22 3 views
5

Ich arbeite an einem C++ - Prettyprinter und möchte die Ergebnisse des PrettyPrinters anzeigen, indem ich den Code vor und nach der Ausführung vergleiche. Weiß jemand, wo ich einigen hässlichen C++ - Code finden kann, um durch den hübschpretty zu laufen? Idealerweise würde der Code von einer Open-Source-Software stammen.Hässlicher C++ Code

+3

Es gibt hübschen C++ Code? Ich würde jeden C++ Code für hässlich halten ;-) SCNR – Mecki

+5

Warum arbeitest du an einem hübschen Drucker, wenn du keinen hässlichen Code findest? :) –

+0

Ich frage mich auch, warum jemand ihre eigenen "hübscheren" schreiben würde. – Tim

Antwort

5

Versuchen Sie eine Suche nach "C++ Verschleierung" und Sie sollten C++ Code finden, der schwer zu lesen ist.

2

Ein anderer guter Test ist, normalen C++ - Code zu nehmen und zu sehen, wie gut er es zu einem anderen Codeformatierungsstandard umformatieren kann.

2

Nicht C++, aber haben Sie den International Obfuscated C Code Contest ausgecheckt?

prüfen einige der Gewinner aus code

2

Here is a list of bugs eingereicht gegen die Eclipse C/C++ Projekt-Tools. Bei vielen der Fehler handelt es sich um Code, der nicht korrekt formatiert wurde. Sie können also sehen, wie sie Dinge gemacht haben, und sich sogar die behobenen Fehler ansehen, wenn sie behoben sind.

6

Wenn Sie keinen guten Korpus mit hässlichem Code finden, können Sie immer einen "Code-Uglifier" schreiben und ihn dann mit einem durchschnittlichen Code ausführen.

Zum Beispiel:

  • Entfernen Sie alle unwesentlichen Räume
  • Entfernen/Einfügen Zufallsräume
  • Ersetzt Laschen mit unterschiedlicher Anzahl von Räumen.
+2

+1 für "Code Uglifier": P – Davy8

+1

Ich kann auch Code von http://www.iocc.org/ –

9

Alles, das zu der GNU coding standards codiert wird, gibt Ihnen einen beschissenen Einrückungsstil, um zu üben. Verbatim Beispiel:

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

empfehlen Warten ... WTF ist das? Das ist wahrscheinlich der schlechteste Kodierungsstandard aller Zeiten. –

+0

Das ist nur Emacs Standard-Stil. –

+0

@Thomas: Es sieht zuerst hässlich aus, aber nach einer Weile wird es viel einfacher zu lesen, besonders wenn man viel Lisp-Programmierung macht. –

1

Ihr PrettyPrinter ist vermutlich konfigurierbar? Dann wird es in der Lage sein, hässlichen Code für geeignete Eingaben zu erzeugen.