比如我,代码里面如果需要用到人造的随机数、魔鬼数字等,我会把它写成自己的生日或者他的生日,32 位整数的 16 进制 0x19980101 这样,位数刚好。
或者在注释里面放一尊佛像啥的。
1 yeyu123 2021-12-16 11:35:18 +08:00 ![]() 98 年的真会玩 |
![]() | 2 hahastudio 2021-12-16 11:36:23 +08:00 ![]() 一般这个问题,都会问一句,难道你们是没有 code review 么 |
3 stone666 2021-12-16 11:36:38 +08:00 98 年的真会玩 |
![]() | 4 Daylight1993 2021-12-16 11:39:57 +08:00 98 年的真会玩 |
5 xiaopc 2021-12-16 11:39:58 +08:00 ![]() HoHoHo 是吧 |
![]() | 6 lagoon 2021-12-16 11:40:36 +08:00 ![]() 我恨不得,让别人永远不要发现这是我写的代码。。。。。 你竟然还想着留痕。 |
7 raycool 2021-12-16 11:41:01 +08:00 98 年的真会玩 |
![]() | 8 815979670 2021-12-16 11:41:12 +08:00 ![]() 我的 bug 就是我留的彩蛋 |
![]() | 9 JamesR 2021-12-16 11:42:41 +08:00 ![]() 公司的没有,写好注释就行了。 写自己个人的项目,会留下彩蛋,自己个人项目都是仔细打磨,精益求精的。 |
![]() | 10 Buges 2021-12-16 11:44:39 +08:00 via Android // do not comment this // do_something(); |
11 ishalla 2021-12-16 11:45:05 +08:00 公司的项目留彩蛋是不是疯了? code review 要是作为 issue 报给 compliance 或者 security 还混不混了。。 |
![]() | 12 Wsdba 2021-12-16 11:45:19 +08:00 ![]() 前端同事 var 了好多个 cnm 变量 。。 |
![]() | 13 Daylight1993 2021-12-16 11:48:46 +08:00 公司请你来是干活解决问题的,不是让你展示自己的。我要是老板就不敢要你这种程序员,今天留彩蛋,明天不知道留什么东西进去。个人项目随意留。 |
![]() | 14 villivateur OP |
![]() | 15 coderluan 2021-12-16 11:50:48 +08:00 ![]() // 这块代码有 bug ,但是测试没测出来,我也就不管了,之后复现了,谁改就当发现个彩蛋吧。 // 这里也有个彩蛋。 // 这里有个恐龙蛋。 // 这里没有一个彩蛋,有两个。 // 好吧,说的全都是骗你的,这句也是。 |
![]() | 16 murmur 2021-12-16 11:51:30 +08:00 ![]() 上次圣诞留彩蛋的惊喜不 |
![]() | 17 greatHair 2021-12-16 11:51:58 +08:00 我们有个项目里,有个小人在马桶上拉粑粑的图...启动的时候会在控制台打印出来。还有一句话:Don't shit in the code |
18 v2jjCom 2021-12-16 11:52:33 +08:00 不会,有什么用呢? |
19 zqx 2021-12-16 11:52:46 +08:00 via Android 微软谷歌的代码也有彩蛋,百度的也会 code review 如果只关注格式和语法规则,纯粹是浪费时间和内卷 |
20 satanandroid 2021-12-16 11:53:11 +08:00 一般这个问题,都会问一句,难道你们是没有 code review 么 |
21 satanandroid 2021-12-16 11:53:27 +08:00 记得上次圣诞节彩蛋事情嘛 |
![]() | 22 bcllemon 2021-12-16 11:54:02 +08:00 Ant Design 的故事还记得不 |
![]() | 23 AoEiuV020CN 2021-12-16 11:54:39 +08:00 算也不算,我喜欢在句末留逗号,所以看注释就知道代码是不是我写的, |
![]() | 24 villivateur OP |
25 c1273082756 2021-12-16 11:55:38 +08:00 ![]() // // _oo0oo_ // o8888888o // 88" . "88 // (| -_- |) // 0\ = /0 // ___/`---'\___ // .' \\| |// '. // / \\||| : |||// \ // / _||||| -:- |||||- \ // | | \\\ - /// | | // | \_| ''\---/'' |_/ | // \ .-\__ '-' ___/-. / // ___'. .' /--.--\ `. .'___ // ."" '< `.___\_<|>_/___.' >' "". // | | : `- \`.;`\ _ /`;.`/ - ` : | | // \ \ `_. \_ __\ /__ _/ .-` / / // =====`-.____`.___ \_____/___.-`___.-'===== // `=---=' // // // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // 佛祖保佑 永无 BUG // // // |
26 c1273082756 2021-12-16 11:56:19 +08:00 // // // _oo0oo_ // o8888888o // 88" . "88 // (| -_- |) // 0\ = /0 // ___/`---'\___ // .' \\| |// '. // / \\||| : |||// \ // / _||||| -:- |||||- \ // | | \\\ - /// | | // | \_| ''\---/'' |_/ | // \ .-\__ '-' ___/-. / // ___'. .' /--.--\ `. .'___ // ."" '< `.___\_<|>_/___.' >' "". // | | : `- \`.;`\ _ /`;.`/ - ` : | | // \ \ `_. \_ __\ /__ _/ .-` / / // =====`-.____`.___ \_____/___.-`___.-'===== // `=---=' // // // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // 佛祖保佑 永无 BUG // // // |
27 PerFectTime 2021-12-16 11:57:18 +08:00 var sb = new StringBuilder(); [:/doge] |
![]() | 28 ohwind 2021-12-16 12:00:20 +08:00 ![]() 魔数就魔数,魔鬼数字是什么鬼......另外 code review 是不会允许留什么彩蛋的...... |
![]() | 29 abersheeran 2021-12-16 12:01:25 +08:00 彩蛋没有,但代码里充斥着我自己造的轮子。 |
30 anonydmer 2021-12-16 12:02:16 +08:00 想过这种代码后来维护的人敢处理么?不是得一脸懵 B 生怕这有个什么特殊逻辑在那 |
31 cp19890714 2021-12-16 12:05:11 +08:00 怎么定义是不是彩蛋?万一是臭蛋呢?你一个人说了算吗? 怎么定义彩蛋在未来对公司的影响,你能 100%预料到吗? 别人接手你的代码,他看到这种代码,是否会让他感到迷惑,增加心智负担? 不要做这种多余而且徒增风险的事情。 |
![]() | 32 oott123 2021-12-16 12:10:26 +08:00 via Android ![]() 说到 magic number ,有个经典案例: https://www.zhihu.com/question/271409373/answer/367796835 |
33 zuosiruan 2021-12-16 12:10:36 +08:00 98 年的真会玩 |
![]() | 34 IT1024 2021-12-16 12:14:19 +08:00 代码嘛,留点属于自己的痕迹也正常 |
![]() | 35 icanfork 2021-12-16 12:18:10 +08:00 年轻人编程的心态就是不一样,想起了 10 几年前的自己,真好 |
36 mengnewer 2021-12-16 12:22:17 +08:00 via Android 把某款战机的部分代码里的循环 index 都写成了我的名字缩写 |
![]() | 37 imdong 2021-12-16 12:22:54 +08:00 via iPhone 验签失败的错误码 418 所有用户未设置密码时,默认密码是我和前女友的名字,正好比可用密码短一位。 |
38 Pinattsu 2021-12-16 12:22:56 +08:00 ![]() 分享一个在 openswan 的 Makefile 里的彩蛋,你敲 make war 就会弹出 not love? |
39 mengnewer 2021-12-16 12:23:56 +08:00 via Android ![]() 想着自己的名字可以一起跟着翱翔蓝天,保家卫国 |
40 wangkun025 2021-12-16 12:24:43 +08:00 完全不会。毕竟是公司的。 |
![]() | 41 z09n 2021-12-16 12:25:21 +08:00 98 年的真会玩 |
![]() | 42 Seayon 2021-12-16 12:39:21 +08:00 单元测试里面有些地方需要 mock 参数会用自己名字和工号 |
![]() | 43 leeyom 2021-12-16 12:47:57 +08:00 via iPhone 梁静茹给你唱一首《勇气》 |
![]() | 44 jaredyam 2021-12-16 12:50:50 +08:00 只有我关注到「自己的生日或者他的生日」吗 |
45 2i2Re2PLMaDnghL 2021-12-16 12:56:00 +08:00 ![]() 你这『魔鬼数字』是什么鬼? magic number ,不是 demon number 魔法数字 IETF RFC 里一堆彩蛋,你们不还得照着彩蛋编代码? HTTP 状态码 418 451 |
46 MegrezZhu 2021-12-16 13:00:47 +08:00 对于这种 magic number 的情形,我司一般都是直接用 commit 编号(单调递增的数字) |
47 abysmalIQ 2021-12-16 13:01:45 +08:00 闲的蛋疼 |
![]() | 48 CrazyRundong 2021-12-16 13:09:56 +08:00 via iPhone ![]() 会,我 own 的代码随机数种子都是 19260817 。 当然,review 的时候也是几百个 reviewers 一致通过的。 |
![]() | 49 owwlo 2021-12-16 13:10:21 +08:00 via iPhone ![]() 在前东家的 repo 里留下了好多 9527[手动狗头] |
50 VZXXBACQ 2021-12-16 13:17:28 +08:00 ![]() 19260817 这个还是质数 |
![]() | 51 x86 2021-12-16 13:20:01 +08:00 逻辑漏洞就是我的彩蛋 |
![]() | 52 jmc891205 2021-12-16 3:23:15 +08:00 好奇第一个把 magic number 翻译成魔鬼数字的是谁啊 |
53 ekidona 2021-12-16 13:25:36 +08:00 via iPhone ![]() 开 jupyter notebook 的端口都是从 8964 开始开 |
![]() | 54 cassyfar 2021-12-16 13:28:00 +08:00 前东家留下过 666 ,不过老美们并看不懂 |
55 vision1900 2021-12-16 13:28:58 +08:00 谁还不时不时皮一下呢 :) |
![]() | 56 nba2k9 2021-12-16 13:29:50 +08:00 codereview 时不用解释这些数字么? |
![]() | 57 KouShuiYu 2021-12-16 13:33:10 +08:00 @CrazyRundong 几百个 reviewers |
![]() | 58 philon 2021-12-16 13:34:01 +08:00 这个算吗? int timeout = 100; while (timeout --> 0) { ... } |
![]() | 59 villivateur OP @nba2k9 不用 |
![]() | 60 lrzsw2008 2021-12-16 13:38:08 +08:00 临时变量可能会用自己喜欢的车命名或者其他爱好相关的物件型号来命名(比如山地车的套件) 反正就是替换成 i a b k j 都不影响理解的地方会随便搞搞 |
![]() | 61 Vindroid 2021-12-16 13:39:55 +08:00 我们一般只有主程才有资格留彩蛋,因为他们的代码不用别人 review ,其他人的 review 必要会提 comment |
62 FantaMole 2021-12-16 13:40:56 +08:00 ![]() @CrazyRundong #48 这个 engineering coding 呢,坠痛苦的,就是这个 code review ,而且效率 efficiency |
![]() | 63 whusnoopy 2021-12-16 13:43:52 +08:00 https://www.zhihu.com/question/271409373 百度的 BRPC 里的一个彩蛋,就是 Magic Number |
![]() | 64 Hanggi 2021-12-16 13:45:10 +08:00 代码不审核吗?怎么可能放彩蛋,如果有人放炸弹怎么办? |
![]() | 65 wolfie 2021-12-16 13:47:50 +08:00 Guava 里的 com.google.common.base.CharMatcher 算是经典彩蛋 不会刻意去留,因为第三方组件问题写兼容时候会附带一些吐槽。 |
![]() | 66 yiqiao 2021-12-16 13:52:40 +08:00 |
![]() | 67 A555 2021-12-16 13:55:31 +08:00 啥叫魔鬼数字 magic number? |
![]() | 68 updateing 2021-12-16 14:03:26 +08:00 via Android 只敢玩 magic number ,比如 64 位无效指针我曾经写过 (void *)0x717a3fa112b77274 [doge] |
70 zzfly256 2021-12-16 14:07:35 +08:00 以前在鹅厂,写单元测试时写过自己的入职时间、毕业时间作为时间字段的填充值,算吗 |
![]() | 71 invdan 2021-12-16 14:09:43 +08:00 锦瑾你真会玩 |
![]() | 72 MoYi123 2021-12-16 14:14:56 +08:00 go 的 2006-01-02 15:04:05 也是吧 |
![]() | 73 dswyzx 2021-12-16 14:15:16 +08:00 如果是电影彩蛋类似的东西,非严谨场合倒还可以接受. 如果非要留下自己的信息相关整出来什么密钥之类的,这和狗狗撒尿宣示地盘有什么区别呢,尤其是一些"类容"之类的东西属实整不会了 |
![]() | 74 shakoon 2021-12-16 14:15:54 +08:00 留彩蛋不如留后门[二哈] |
![]() | 75 icyalala 2021-12-16 14:16:08 +08:00 ![]() 彩蛋是隐藏的、无害的,Code Review 解释清楚当然能过。 至于 HoHoHo ,那种并不是无害的。那是炸弹,不是彩蛋。 |
![]() | 76 loryyang 2021-12-16 14:17:35 +08:00 没必要。。话说之前一哥们在代码里面写了句 CNM ,然后被全部门通报批评 |
![]() | 77 ScepterZ 2021-12-16 14:19:01 +08:00 虽然没查过这玩意有没有通用翻译,但是从没听说过有人管这个叫魔鬼数字 |
78 cjyang 2021-12-16 14:22:14 +08:00 via iPhone ![]() 那叫魔法数字不叫魔鬼数字 |
![]() | 79 zhouxuchen 2021-12-16 14:28:59 +08:00 @abersheeran #29 我也是,几年前公司用的框架比较新,啥功能都不完善,我就写了两个轮子放到了 composer ,然后安到了公司项目里。刚去看了下 composer.json 里还在用 dev-master ,得提醒一下技术锁版本,要不然真成彩蛋了…… |
![]() | 80 efaun 2021-12-16 14:29:41 +08:00 那不叫彩蛋, 那叫缺德 |
81 337136897 2021-12-16 14:32:46 +08:00 98 年的真会玩 |
![]() | 83 Lefi 2021-12-16 14:56:34 +08:00 2008 年出生的攻城狮接手你的代码, 一看 写的这么烂? |
![]() | 84 ykk 2021-12-16 15:08:02 +08:00 没有,只留了一堆注释和自己的签名,代码洁癖,写的每行代码自己负责 |
![]() | 85 wangtian2020 2021-12-16 15:16:03 +08:00 在前公司写代码的时候,如果心情不好变量名就以 fk 开头,fk 就是那啥_uc_的意思 测试自己写的代码的时候,测试数据总是填 1145141919810 的一部分 |
![]() | 86 HankAviator 2021-12-16 15:17:32 +08:00 via Android 不恰当的彩蛋会给人不专业的感觉,换句话说“净整那没有用的” |
87 ffw5b7 2021-12-16 15:22:09 +08:00 via Android 你们怎么知道是 98 年的? |
89 maer 2021-12-16 15:24:55 +08:00 之前设计一个文件格式的时候,魔数用的 0x66CCFF |
![]() | 90 wtf12138 2021-12-16 15:29:56 +08:00 刚开始工作的时候会,后来就没那个心情了 |
![]() | 91 hk1810 2021-12-16 15:35:09 +08:00 98 年的真会玩 |
![]() | 92 lilihangzhou 2021-12-16 15:37:25 +08:00 写得好还行,写得垃圾只会留下骂名 |
![]() | 93 feikeq 2021-12-16 15:40:14 +08:00 |
94 mozhizhu 2021-12-16 15:45:45 +08:00 取决于产品类型和公司文化;我们是一个交互型产品,留一个不影响任何操作的彩蛋,是一个很有意思的事情。 |
![]() | 95 pengtdyd 2021-12-16 15:48:38 +08:00 肯定不留啊,免得以后别人骂我 s13 |
![]() | 96 suyuyu 2021-12-16 15:54:30 +08:00 或者在注释里面放一尊佛像啥的。 我觉得挺 low 的,还不如认真写个注释。 |
97 tomari 2021-12-16 15:59:20 +08:00 过不了 code review ,而且会显得有点幼稚。。。 |
98 krixaar 2021-12-16 16:04:29 +08:00 把分析( analytics )相关的变量 /函数命名成 anal_xx 这种算彩蛋么。 |
![]() | 99 WilliamYang 2021-12-16 16:13:11 +08:00 @abersheeran 请问你怎样处理同事间的质疑,如果有的话?我有时候写了些比较适合业务使用的类库,部分同事会一脸嫌弃地说看不懂,好复杂,明明不需要去看代码,提供的接口也是很容易使用的,有时候会感到开发热情被打击 |
![]() | 100 yuxuan 2021-12-16 16:17:54 +08:00 ![]() 我以为又快到圣诞节了 会有很多人想起 antd 的圣诞彩蛋来着 |