说说自己写过的最难懂的代码吧。

2015-11-19 09:52:32 +08:00
 jukka

define false true #define malloc(size) malloc(size-1) 这些只能算技巧。语义上的坑才是坑。

我先自爆一个,毕业第一年,刚入游戏行业的时候,在做小游戏,平台是 cheap phone(MTK)。

当时公司用的自研引擎,引擎层并不支持屏幕 90°翻转。 320x480, x->(0, 320), y->(0, 480) Leader 说过几天给加上(但是当时我并不知情)。

然后我就按照 x->(0, 480), y->(0,320) 的前提下,开始写代码了。

所有的角度旋转,坐标计算,全部都是在我脑子里按照 90°翻转后的坐标去写的。不管是 touch-test 还是 actor movement 。

然后我的 BOSS 维护了一下我的代码,这酸爽。

6219 次点击
所在节点    程序员
37 条回复
726332269
2015-11-19 14:06:00 +08:00
++++++++++[>+++++++>++++++++++>+++>+<<<<-]
>++.>+.+++++++..+++.>++.<<+++++++++++++++.
>.+++.------.--------.>+.>.
abscon
2015-11-19 17:04:25 +08:00
#define malloc(size) malloc(size-1)
------------------------------------------
为什么是-1 不是+1
function007
2015-11-19 17:17:06 +08:00
一个代码全篇面向过程的安卓程序, 4K+行
现在完全看不懂当时写的是什么鬼东西
iannil
2015-11-19 17:28:24 +08:00
当年还在写 perl 的时候
moorlop
2015-11-19 20:21:43 +08:00
print("hello world")之后的代码都难
XiaoXiaoNiWa
2015-11-19 21:12:31 +08:00
@726332269 brain fuck?
shiznet
2015-11-19 22:21:57 +08:00
混淆后的代码 类名变量全是 abc
shiznet
2015-11-19 22:22:57 +08:00
擦 忽略吧 文不对题
adadada
2015-11-20 00:32:45 +08:00
@abscon 恶作剧吧:每次 malloc 都少分配一个 byte ,于是用到边界就出错。
dtysky
2015-11-20 01:24:28 +08:00
莫过于菜鸟+硬件
这是三年前写的

https://github.com/dtysky/LD3320_FPGA_CONTROLLER/blob/master/VOICE.vhd

当然啦,这都比不过模电玄学。。。
726332269
2015-11-20 01:31:14 +08:00
@XiaoXiaoNiWa 是的
breeswish
2015-11-20 08:33:37 +08:00
(使用旋转矩阵来做旋转的代码简单漂亮
jukka
2015-11-20 09:51:59 +08:00
@abscon 少分配 1 个字节,大概 90%不会出什么错。 但是是非常隐含的 bug 。 如果是+1 的话, 95%不会出错吧。想制造一个很难复现但是又存在的 bug ,在内存动手脚最 cool 了。啊哈。
jukka
2015-11-20 09:52:26 +08:00
@breeswish 现在肯定知道旋转矩阵,然而当时还很年轻。
hxgdzyuyi
2015-11-20 10:01:32 +08:00
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.


这个语言叫 Brainfuck ,以上是 hello world https://en.wikipedia.org/wiki/Brainfuck#Hello_World.21
abscon
2015-11-20 10:05:42 +08:00
@adadada
@jukka

我是尽量从好的方面来想,没有想到楼主是故意使坏。
多分配一个字节,正好能拯救那些忘记字符串以零字符结尾因此少分配一个字节的同学们。
jukka
2015-11-20 10:11:27 +08:00
@abscon 啊哈,就是使坏。

记得有一个帖子叫, C++程序员离职前。。。。。

还有这种,哈哈哈。
#define while if

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/237221

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX