V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
villivateur
V2EX  ›  程序员

写公司代码的时候,你们会留下彩蛋吗?

  •  
  •   villivateur ·
    villivateur · 2021-12-16 11:29:41 +08:00 · 15951 次点击
    这是一个创建于 803 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如我,代码里面如果需要用到人造的随机数、魔鬼数字等,我会把它写成自己的生日或者他的生日,32 位整数的 16 进制 0x19980101 这样,位数刚好。

    或者在注释里面放一尊佛像啥的。

    第 1 条附言  ·  2021-12-16 12:15:32 +08:00
    感觉部分批判的人没理解啥是“魔鬼数字”,32 楼说的就是这个意思
    156 条回复    2021-12-18 18:53:17 +08:00
    1  2  
    yeyu123
        1
    yeyu123  
       2021-12-16 11:35:18 +08:00   ❤️ 37
    98 年的真会玩
    hahastudio
        2
    hahastudio  
       2021-12-16 11:36:23 +08:00   ❤️ 9
    一般这个问题,都会问一句,难道你们是没有 code review 么
    stone666
        3
    stone666  
       2021-12-16 11:36:38 +08:00
    98 年的真会玩
    Daylight1993
        4
    Daylight1993  
       2021-12-16 11:39:57 +08:00
    98 年的真会玩
    xiaopc
        5
    xiaopc  
       2021-12-16 11:39:58 +08:00   ❤️ 5
    HoHoHo 是吧
    lagoon
        6
    lagoon  
       2021-12-16 11:40:36 +08:00   ❤️ 23
    我恨不得,让别人永远不要发现这是我写的代码。。。。。
    你竟然还想着留痕。
    raycool
        7
    raycool  
       2021-12-16 11:41:01 +08:00
    98 年的真会玩
    815979670
        8
    815979670  
       2021-12-16 11:41:12 +08:00   ❤️ 16
    我的 bug 就是我留的彩蛋
    JamesR
        9
    JamesR  
       2021-12-16 11:42:41 +08:00   ❤️ 1
    公司的没有,写好注释就行了。
    写自己个人的项目,会留下彩蛋,自己个人项目都是仔细打磨,精益求精的。
    Buges
        10
    Buges  
       2021-12-16 11:44:39 +08:00 via Android
    // do not comment this
    // do_something();
    ishalla
        11
    ishalla  
       2021-12-16 11:45:05 +08:00
    公司的项目留彩蛋是不是疯了? code review 要是作为 issue 报给 compliance 或者 security 还混不混了。。
    Wsdba
        12
    Wsdba  
       2021-12-16 11:45:19 +08:00   ❤️ 17
    前端同事 var 了好多个 cnm 变量 。。
    Daylight1993
        13
    Daylight1993  
       2021-12-16 11:48:46 +08:00
    公司请你来是干活解决问题的,不是让你展示自己的。我要是老板就不敢要你这种程序员,今天留彩蛋,明天不知道留什么东西进去。个人项目随意留。
    villivateur
        14
    villivateur  
    OP
       2021-12-16 11:49:21 +08:00 via Android
    @ishalla
    @hahastudio

    这些彩蛋不影响功能和安全性,选其他数字也是一样的啊
    coderluan
        15
    coderluan  
       2021-12-16 11:50:48 +08:00   ❤️ 2
    // 这块代码有 bug ,但是测试没测出来,我也就不管了,之后复现了,谁改就当发现个彩蛋吧。

    // 这里也有个彩蛋。

    // 这里有个恐龙蛋。

    // 这里没有一个彩蛋,有两个。

    // 好吧,说的全都是骗你的,这句也是。
    murmur
        16
    murmur  
       2021-12-16 11:51:30 +08:00   ❤️ 1
    上次圣诞留彩蛋的惊喜不
    greatHair
        17
    greatHair  
       2021-12-16 11:51:58 +08:00
    我们有个项目里,有个小人在马桶上拉粑粑的图...启动的时候会在控制台打印出来。还有一句话:Don't shit in the code
    v2jjCom
        18
    v2jjCom  
       2021-12-16 11:52:33 +08:00
    不会,有什么用呢?
    zqx
        19
    zqx  
       2021-12-16 11:52:46 +08:00 via Android
    微软谷歌的代码也有彩蛋,百度的也会
    code review 如果只关注格式和语法规则,纯粹是浪费时间和内卷
    satanandroid
        20
    satanandroid  
       2021-12-16 11:53:11 +08:00
    一般这个问题,都会问一句,难道你们是没有 code review 么
    satanandroid
        21
    satanandroid  
       2021-12-16 11:53:27 +08:00
    记得上次圣诞节彩蛋事情嘛
    bcllemon
        22
    bcllemon  
       2021-12-16 11:54:02 +08:00
    Ant Design 的故事还记得不
    AoEiuV020CN
        23
    AoEiuV020CN  
       2021-12-16 11:54:39 +08:00
    算也不算,我喜欢在句末留逗号,所以看注释就知道代码是不是我写的,
    villivateur
        24
    villivateur  
    OP
       2021-12-16 11:55:19 +08:00 via Android
    @satanandroid
    @bcllemon

    Ant design 的彩蛋影响到功能了,但是像魔鬼数字这种对功能没有任何影响吧?
    c1273082756
        25
    c1273082756  
       2021-12-16 11:55:38 +08:00   ❤️ 1
    //
    // _oo0oo_
    // o8888888o
    // 88" . "88
    // (| -_- |)
    // 0\ = /0
    // ___/`---'\___
    // .' \\| |// '.
    // / \\||| : |||// \
    // / _||||| -:- |||||- \
    // | | \\\ - /// | |
    // | \_| ''\---/'' |_/ |
    // \ .-\__ '-' ___/-. /
    // ___'. .' /--.--\ `. .'___
    // ."" '< `.___\_<|>_/___.' >' "".
    // | | : `- \`.;`\ _ /`;.`/ - ` : | |
    // \ \ `_. \_ __\ /__ _/ .-` / /
    // =====`-.____`.___ \_____/___.-`___.-'=====
    // `=---='
    //
    //
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //
    // 佛祖保佑 永无 BUG
    //
    //
    //
    c1273082756
        26
    c1273082756  
       2021-12-16 11:56:19 +08:00
    //
    //
    // _oo0oo_
    // o8888888o
    // 88" . "88
    // (| -_- |)
    // 0\ = /0
    // ___/`---'\___
    // .' \\| |// '.
    // / \\||| : |||// \
    // / _||||| -:- |||||- \
    // | | \\\ - /// | |
    // | \_| ''\---/'' |_/ |
    // \ .-\__ '-' ___/-. /
    // ___'. .' /--.--\ `. .'___
    // ."" '< `.___\_<|>_/___.' >' "".
    // | | : `- \`.;`\ _ /`;.`/ - ` : | |
    // \ \ `_. \_ __\ /__ _/ .-` / /
    // =====`-.____`.___ \_____/___.-`___.-'=====
    // `=---='
    //
    //
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    //
    // 佛祖保佑 永无 BUG
    //
    //
    //
    PerFectTime
        27
    PerFectTime  
       2021-12-16 11:57:18 +08:00
    var sb = new StringBuilder();

    [:/doge]
    ohwind
        28
    ohwind  
       2021-12-16 12:00:20 +08:00   ❤️ 5
    魔数就魔数,魔鬼数字是什么鬼......另外 code review 是不会允许留什么彩蛋的......
    abersheeran
        29
    abersheeran  
       2021-12-16 12:01:25 +08:00
    彩蛋没有,但代码里充斥着我自己造的轮子。
    anonydmer
        30
    anonydmer  
       2021-12-16 12:02:16 +08:00
    想过这种代码后来维护的人敢处理么?不是得一脸懵 B 生怕这有个什么特殊逻辑在那
    cp19890714
        31
    cp19890714  
       2021-12-16 12:05:11 +08:00
    怎么定义是不是彩蛋?万一是臭蛋呢?你一个人说了算吗?
    怎么定义彩蛋在未来对公司的影响,你能 100%预料到吗?
    别人接手你的代码,他看到这种代码,是否会让他感到迷惑,增加心智负担?

    不要做这种多余而且徒增风险的事情。
    oott123
        32
    oott123  
       2021-12-16 12:10:26 +08:00 via Android   ❤️ 7
    说到 magic number ,有个经典案例: https://www.zhihu.com/question/271409373/answer/367796835
    zuosiruan
        33
    zuosiruan  
       2021-12-16 12:10:36 +08:00
    98 年的真会玩
    IT1024
        34
    IT1024  
       2021-12-16 12:14:19 +08:00
    代码嘛,留点属于自己的痕迹也正常
    belin520
        35
    belin520  
       2021-12-16 12:18:10 +08:00
    年轻人编程的心态就是不一样,想起了 10 几年前的自己,真好
    mengnewer
        36
    mengnewer  
       2021-12-16 12:22:17 +08:00 via Android
    把某款战机的部分代码里的循环 index 都写成了我的名字缩写
    imdong
        37
    imdong  
       2021-12-16 12:22:54 +08:00 via iPhone
    验签失败的错误码 418
    所有用户未设置密码时,默认密码是我和前女友的名字,正好比可用密码短一位。
    Pinattsu
        38
    Pinattsu  
       2021-12-16 12:22:56 +08:00   ❤️ 2
    分享一个在 openswan 的 Makefile 里的彩蛋,你敲 make war 就会弹出 not love?
    mengnewer
        39
    mengnewer  
       2021-12-16 12:23:56 +08:00 via Android   ❤️ 1
    想着自己的名字可以一起跟着翱翔蓝天,保家卫国
    wangkun025
        40
    wangkun025  
       2021-12-16 12:24:43 +08:00
    完全不会。毕竟是公司的。
    z09n
        41
    z09n  
       2021-12-16 12:25:21 +08:00
    98 年的真会玩
    Seayon
        42
    Seayon  
       2021-12-16 12:39:21 +08:00
    单元测试里面有些地方需要 mock 参数会用自己名字和工号
    leeyom
        43
    leeyom  
       2021-12-16 12:47:57 +08:00 via iPhone
    梁静茹给你唱一首《勇气》
    jaredyam
        44
    jaredyam  
       2021-12-16 12:50:50 +08:00
    只有我关注到「自己的生日或者他的生日」吗
    2i2Re2PLMaDnghL
        45
    2i2Re2PLMaDnghL  
       2021-12-16 12:56:00 +08:00   ❤️ 1
    你这『魔鬼数字』是什么鬼?
    magic number ,不是 demon number
    魔法数字

    IETF RFC 里一堆彩蛋,你们不还得照着彩蛋编代码?
    HTTP 状态码 418 451
    MegrezZhu
        46
    MegrezZhu  
       2021-12-16 13:00:47 +08:00
    对于这种 magic number 的情形,我司一般都是直接用 commit 编号(单调递增的数字)
    abysmalIQ
        47
    abysmalIQ  
       2021-12-16 13:01:45 +08:00
    闲的蛋疼
    CrazyRundong
        48
    CrazyRundong  
       2021-12-16 13:09:56 +08:00 via iPhone   ❤️ 25
    会,我 own 的代码随机数种子都是 19260817 。

    当然,review 的时候也是几百个 reviewers 一致通过的。
    owwlo
        49
    owwlo  
       2021-12-16 13:10:21 +08:00 via iPhone   ❤️ 1
    在前东家的 repo 里留下了好多 9527[手动狗头]
    VZXXBACQ
        50
    VZXXBACQ  
       2021-12-16 13:17:28 +08:00   ❤️ 5
    19260817

    这个还是质数
    x86
        51
    x86  
       2021-12-16 13:20:01 +08:00
    逻辑漏洞就是我的彩蛋
    jmc891205
        52
    jmc891205  
       2021-12-16 13:23:15 +08:00
    好奇第一个把 magic number 翻译成魔鬼数字的是谁啊
    ekidona
        53
    ekidona  
       2021-12-16 13:25:36 +08:00 via iPhone   ❤️ 8
    开 jupyter notebook 的端口都是从 8964 开始开
    cassyfar
        54
    cassyfar  
       2021-12-16 13:28:00 +08:00
    前东家留下过 666 ,不过老美们并看不懂
    vision1900
        55
    vision1900  
       2021-12-16 13:28:58 +08:00
    谁还不时不时皮一下呢 :)
    nba2k9
        56
    nba2k9  
       2021-12-16 13:29:50 +08:00
    codereview 时不用解释这些数字么?
    KouShuiYu
        57
    KouShuiYu  
       2021-12-16 13:33:10 +08:00
    @CrazyRundong 几百个 reviewers 🤯
    philon
        58
    philon  
       2021-12-16 13:34:01 +08:00
    这个算吗?

    int timeout = 100;
    while (timeout --> 0) {
    ...
    }
    villivateur
        59
    villivateur  
    OP
       2021-12-16 13:34:49 +08:00 via Android
    @nba2k9 不用
    lrzsw2008
        60
    lrzsw2008  
       2021-12-16 13:38:08 +08:00
    临时变量可能会用自己喜欢的车命名或者其他爱好相关的物件型号来命名(比如山地车的套件)
    反正就是替换成 i a b k j 都不影响理解的地方会随便搞搞
    Vindroid
        61
    Vindroid  
       2021-12-16 13:39:55 +08:00
    我们一般只有主程才有资格留彩蛋,因为他们的代码不用别人 review ,其他人的 review 必要会提 comment
    FantaMole
        62
    FantaMole  
       2021-12-16 13:40:56 +08:00   ❤️ 7
    @CrazyRundong #48 这个 engineering coding 呢,坠痛苦的,就是这个 code review ,而且這個效率 efficiency
    whusnoopy
        63
    whusnoopy  
       2021-12-16 13:43:52 +08:00
    https://www.zhihu.com/question/271409373
    百度的 BRPC 里的一个彩蛋,就是 Magic Number
    Hanggi
        64
    Hanggi  
       2021-12-16 13:45:10 +08:00
    代码不审核吗?怎么可能放彩蛋,如果有人放炸弹怎么办?
    wolfie
        65
    wolfie  
       2021-12-16 13:47:50 +08:00
    Guava 里的 com.google.common.base.CharMatcher 算是经典彩蛋

    不会刻意去留,因为第三方组件问题写兼容时候会附带一些吐槽。
    yiqiao
        66
    yiqiao  
       2021-12-16 13:52:40 +08:00
    @cp19890714
    彩蛋是要找的,不找发现不了的!
    说了这么久怎么没人提 antd 的彩蛋?依稀记得 18 年 antd 的圣诞彩蛋。不少人甚至因为这事丢了工作「不知真假」。
    A555
        67
    A555  
       2021-12-16 13:55:31 +08:00
    啥叫魔鬼数字 magic number?
    updateing
        68
    updateing  
       2021-12-16 14:03:26 +08:00 via Android
    只敢玩 magic number ,比如 64 位无效指针我曾经写过 (void *)0x717a3fa112b77274 [doge]
    agagega
        69
    agagega  
       2021-12-16 14:05:09 +08:00 via iPhone
    @oott123 我也一下想起这个了,其实像这样无害的没什么大问题
    zzfly256
        70
    zzfly256  
       2021-12-16 14:07:35 +08:00
    以前在鹅厂,写单元测试时写过自己的入职时间、毕业时间作为时间字段的填充值,算吗
    invdan
        71
    invdan  
       2021-12-16 14:09:43 +08:00
    锦瑾你真会玩
    MoYi123
        72
    MoYi123  
       2021-12-16 14:14:56 +08:00
    go 的 2006-01-02 15:04:05 也是吧
    dswyzx
        73
    dswyzx  
       2021-12-16 14:15:16 +08:00
    如果是电影彩蛋类似的东西,非严谨场合倒还可以接受.
    如果非要留下自己的信息相关整出来什么密钥之类的,这和狗狗撒尿宣示地盘有什么区别呢,尤其是一些"类容"之类的东西属实整不会了
    shakoon
        74
    shakoon  
       2021-12-16 14:15:54 +08:00
    留彩蛋不如留后门[二哈]
    icyalala
        75
    icyalala  
       2021-12-16 14:16:08 +08:00   ❤️ 1
    彩蛋是隐藏的、无害的,Code Review 解释清楚当然能过。
    至于 HoHoHo ,那种并不是无害的。那是炸弹,不是彩蛋。
    loryyang
        76
    loryyang  
       2021-12-16 14:17:35 +08:00
    没必要。。话说之前一哥们在代码里面写了句 CNM ,然后被全部门通报批评
    ScepterZ
        77
    ScepterZ  
       2021-12-16 14:19:01 +08:00
    虽然没查过这玩意有没有通用翻译,但是从没听说过有人管这个叫魔鬼数字
    cjyang
        78
    cjyang  
       2021-12-16 14:22:14 +08:00 via iPhone   ❤️ 3
    那叫魔法数字不叫魔鬼数字
    zhouxuchen
        79
    zhouxuchen  
       2021-12-16 14:28:59 +08:00
    @abersheeran #29 我也是,几年前公司用的框架比较新,啥功能都不完善,我就写了两个轮子放到了 composer ,然后安到了公司项目里。刚去看了下 composer.json 里还在用 dev-master ,得提醒一下技术锁版本,要不然真成彩蛋了……
    efaun
        80
    efaun  
       2021-12-16 14:29:41 +08:00
    那不叫彩蛋, 那叫缺德
    337136897
        81
    337136897  
       2021-12-16 14:32:46 +08:00
    98 年的真会玩
    Huozy
        82
    Huozy  
       2021-12-16 14:54:18 +08:00
    @Wsdba #12 发现了已离职前端同事的 sb 、nt 变量
    Lefi
        83
    Lefi  
       2021-12-16 14:56:34 +08:00
    2008 年出生的攻城狮接手你的代码,

    一看

    写的这么烂?
    ykk
        84
    ykk  
       2021-12-16 15:08:02 +08:00
    没有,只留了一堆注释和自己的签名,代码洁癖,写的每行代码自己负责
    wangtian2020
        85
    wangtian2020  
       2021-12-16 15:16:03 +08:00
    在前公司写代码的时候,如果心情不好变量名就以 fk 开头,fk 就是那啥_uc_的意思
    测试自己写的代码的时候,测试数据总是填 1145141919810 的一部分
    HankAviator
        86
    HankAviator  
       2021-12-16 15:17:32 +08:00 via Android
    不恰当的彩蛋会给人不专业的感觉,换句话说“净整那没有用的”
    ffw5b7
        87
    ffw5b7  
       2021-12-16 15:22:09 +08:00 via Android
    你们怎么知道是 98 年的?
    ffw5b7
        88
    ffw5b7  
       2021-12-16 15:22:52 +08:00 via Android
    @ffw5b7 0x19980101
    maer
        89
    maer  
       2021-12-16 15:24:55 +08:00
    之前设计一个文件格式的时候,魔数用的 0x66CCFF
    wtf12138
        90
    wtf12138  
       2021-12-16 15:29:56 +08:00
    刚开始工作的时候会,后来就没那个心情了
    hk1810
        91
    hk1810  
       2021-12-16 15:35:09 +08:00
    98 年的真会玩
    lilihangzhou
        92
    lilihangzhou  
       2021-12-16 15:37:25 +08:00
    写得好还行,写得垃圾只会留下骂名
    feikeq
        93
    feikeq  
       2021-12-16 15:40:14 +08:00
    ███████╗███████╗██╗██╗ ██╗███████╗██╗ ██╗ ██████╗ ██████╗ ██╗ ██████╗
    ██╔════╝██╔════╝██║██║ ██╔╝██╔════╝██║ ██║██╔═══██╗██╔══██╗██║ ██╔══██╗
    █████╗ █████╗ ██║█████╔╝ █████╗ ██║ █╗ ██║██║ ██║██████╔╝██║ ██║ ██║
    ██╔══╝ ██╔══╝ ██║██╔═██╗ ██╔══╝ ██║███╗██║██║ ██║██╔══██╗██║ ██║ ██║
    ██║ ███████╗██║██║ ██╗███████╗╚███╔███╔╝╚██████╔╝██║ ██║███████╗██████╔╝
    ╚═╝ ╚══════╝╚═╝╚═╝ ╚═╝╚══════╝ ╚══╝╚══╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═════╝
    mozhizhu
        94
    mozhizhu  
       2021-12-16 15:45:45 +08:00
    取决于产品类型和公司文化;我们是一个交互型产品,留一个不影响任何操作的彩蛋,是一个很有意思的事情。
    pengtdyd
        95
    pengtdyd  
       2021-12-16 15:48:38 +08:00
    肯定不留啊,免得以后别人骂我 s13
    suyuyu
        96
    suyuyu  
       2021-12-16 15:54:30 +08:00
    或者在注释里面放一尊佛像啥的。 我觉得挺 low 的,还不如认真写个注释。
    tomari
        97
    tomari  
       2021-12-16 15:59:20 +08:00
    过不了 code review ,而且会显得有点幼稚。。。
    krixaar
        98
    krixaar  
       2021-12-16 16:04:29 +08:00
    把分析( analytics )相关的变量 /函数命名成 anal_xx 这种算彩蛋么。
    WilliamYang
        99
    WilliamYang  
       2021-12-16 16:13:11 +08:00
    @abersheeran 请问你怎样处理同事间的质疑,如果有的话?我有时候写了些比较适合业务使用的类库,部分同事会一脸嫌弃地说看不懂,好复杂,明明不需要去看代码,提供的接口也是很容易使用的,有时候会感到开发热情被打击
    yuxuan
        100
    yuxuan  
       2021-12-16 16:17:54 +08:00   ❤️ 1
    我以为又快到圣诞节了 会有很多人想起 antd 的圣诞彩蛋来着😂
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3038 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 13:46 · PVG 21:46 · LAX 05:46 · JFK 08:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.