丑陋的C ++代码

时间:2008-10-22 17:49:54

标签: c++ pretty-print

我正在开发一个C ++ prettyprinter,并希望通过比较运行它之前和之后的代码来显示prettyprinter的结果。有谁知道我在哪里可以找到一些丑陋的C ++代码来运行prettypretty?理想情况下,代码将来自一些开源软件。

8 个答案:

答案 0 :(得分:10)

任何编码到GNU coding standards的内容都会给你一种难以理解的缩进风格。逐字例子:

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

答案 1 :(得分:6)

如果你找不到一个好的丑陋代码语料库,你总是可以写一个“代码uglifier”,然后在一些普通代码上运行它。

例如:

  • 删除所有无关紧要的空格
  • 删除/插入随机空格
  • 用不同数量的空格替换制表符。

答案 2 :(得分:5)

尝试搜索“C ++混淆”,您应该能够找到难以阅读的C ++代码。

答案 3 :(得分:2)

另一个好的测试是使用普通的C ++代码,看看它能将它重新格式化为不同的代码格式标准。

答案 4 :(得分:2)

不是C ++,但你看过国际混淆的C代码竞赛吗?

查看一些获奖者code

答案 5 :(得分:2)

Here is a list of bugs提交了针对eclipse C / C ++工具的项目。许多错误都是关于未正确格式化的代码,因此您可以看到他们是如何做的,甚至可以查看解决方案。

答案 6 :(得分:1)

你的prettyprinter可能是可配置的吗?然后,它将能够为合适的输入生成丑陋的代码。

答案 7 :(得分:0)

看看“高尔夫”C++ programs on the Code Golf Stack Exchange site。为了节省空间,它们被弄脏了。