• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jukka
V2EX  ›  程序员

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

  •  
  •   jukka ·
    tangyiyang · Nov 19, 2015 · 7895 views
    This topic created in 4005 days ago, the information mentioned may be changed or developed.

    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 维护了一下我的代码,这酸爽。

    37 replies  •  2015-11-20 10:11:27 +08:00
    ShiHou
    ShiHou
    Nov 19, 2015
    1
    当然是写硬件代码了... 脑子里模拟十几个状态机之间互相通讯,更别说写出来的代码了。
    aheadlead
    aheadlead
    Nov 19, 2015
    2
    汇编…
    jayzjj000
    jayzjj000
    Nov 19, 2015
    3
    无比同意楼上,所有关于硬件的、各种机器语言的,都特么难懂的一笔

    ---

    记得 Ourcoders 里面还讨论过一个问题是要不要写注释,里面各种大牛都是各种“看不懂的代码就不是好代码,就要重构”,看的时候泪流满面,大哥帮我重构把
    joewangyz
    joewangyz
    Nov 19, 2015
    5
    大学时候的汇编大作业 还有编译器。。
    rock_cloud
    rock_cloud
    Nov 19, 2015
    6
    https://gist.github.com/3e4845adead207159bc3.git
    之前一个项目里用到了些正则。。。现在已经看不懂了=。=
    zonghua
    zonghua
    Nov 19, 2015 via iPhone
    7
    各种排序查找,都是嵌套循环
    DingSoung
    DingSoung
    Nov 19, 2015
    8
    XD 曾经用汇编写过[CRC32 CRC16]( https://github.com/DingSoung/DDT/tree/master/crc)
    wizardforcel
    wizardforcel
    Nov 19, 2015 via Android
    9
    跟 lz 差不多 一个大作业中队友把坐标弄反了 于是我想调用它的东西 就得之前加一层转换
    ifconfig
    ifconfig
    Nov 19, 2015❤️1
    10
    三层嵌套循环,从 value 到 val 再到 v 命名,嘻嘻
    ikaros
    ikaros
    Nov 19, 2015
    11
    感觉自己没有写过什么特别难懂的吧,无非是函数拆分模块化上处理的问题,而且用的语言很简单. 如果真要说难懂的话大概就是有切字符串的习惯, token.String()[:6]这样,不过一般都会注释这是取什么
    LioMore
    LioMore
    Nov 19, 2015
    12
    string ZFC;
    string ZXYJ;
    int SZ;
    int BH;

    程序的变量还有对象里全是这种命令方式,以及数据库全都是这样的表和字段,谁能看懂?
    LioMore
    LioMore
    Nov 19, 2015
    13
    不好意思,打错字,更正一下,是「命名方式」
    hackerwgf
    hackerwgf
    Nov 19, 2015 via iPhone
    14
    三个月之前的代码感觉就毛都看不懂了
    doublleft
    doublleft
    Nov 19, 2015❤️2
    15
    不是我的,调试别人的

    当时发现有一个 bug ,可以复现但是似乎没有任何条件,其触发随机到怀疑人生,仔细断点反复排插后发现是随机字符串生成变量然后各种传递,这个随机种子不够复杂,经常重复所以……
    viator42
    viator42
    Nov 19, 2015
    16
    var a = <? echo $b; ?>;
    php 赋值给 js.相当相当不标准的写法,当时憋得我实在没招了
    hoythan
    hoythan
    PRO
    Nov 19, 2015 via iPhone
    17
    @viator42 那是你方法问题。
    des
    des
    Nov 19, 2015
    18
    我是来搞笑的
    !(x^y)
    adexbn
    adexbn
    Nov 19, 2015
    19
    ?1
    sophymax
    sophymax
    Nov 19, 2015
    20
    上学时期写的快速傅里叶变换的程序, 里面的蝶形变换 , 想起来 CPU 的有条汇编指令可以直接进行那个位运算 , 就在 C++里嵌入了一大段汇编
    rlexs
    rlexs
    Nov 19, 2015 via Android
    21
    ++++++++++[>+++++++>++++++++++>+++>+<<<<-]
    >++.>+.+++++++..+++.>++.<<+++++++++++++++.
    >.+++.------.--------.>+.>.
    abscon
    abscon
    Nov 19, 2015
    22
    #define malloc(size) malloc(size-1)
    ------------------------------------------
    为什么是-1 不是+1
    function007
    function007
    Nov 19, 2015
    23
    一个代码全篇面向过程的安卓程序, 4K+行
    现在完全看不懂当时写的是什么鬼东西
    iannil
    iannil
    Nov 19, 2015
    24
    当年还在写 perl 的时候
    moorlop
    moorlop
    Nov 19, 2015 via iPhone
    25
    print("hello world")之后的代码都难
    XiaoXiaoNiWa
    XiaoXiaoNiWa
    Nov 19, 2015 via Android
    26
    @726332269 brain fuck?
    shiznet
    shiznet
    Nov 19, 2015
    27
    混淆后的代码 类名变量全是 abc
    shiznet
    shiznet
    Nov 19, 2015
    28
    擦 忽略吧 文不对题
    adadada
    adadada
    Nov 20, 2015
    29
    @abscon 恶作剧吧:每次 malloc 都少分配一个 byte ,于是用到边界就出错。
    dtysky
    dtysky
    Nov 20, 2015 via Android
    30
    莫过于菜鸟+硬件
    这是三年前写的

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

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


    这个语言叫 Brainfuck ,以上是 hello world https://en.wikipedia.org/wiki/Brainfuck#Hello_World.21
    abscon
    abscon
    Nov 20, 2015
    36
    @adadada
    @jukka

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

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

    还有这种,哈哈哈。
    #define while if
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1035 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 80ms · UTC 19:02 · PVG 03:02 · LAX 11:02 · JFK 14:02
    ♥ Do have faith in what you're doing.