恶搞代码输入我是猪
去年冬天我在一个前端群里看到有人发截图,恶搞浏览器控制台里赫然一行白字——"我是代码猪"。发图的输入人配了个狗头表情,说这是恶搞他们公司新来的实习生写的。我当时第一反应不是代码笑,是输入好奇:这行字到底怎么触发的?
后来我自己去扒了那段代码。逻辑其实特别简单,恶搞就是代码一个 console.log 被塞进了某个按钮的点击事件里,但那按钮的输入文案写的是"提交表单"。用户点一下,恶搞控制台就打印一次"我是代码猪"。更损的输入是,代码里还套了个 if 判断,恶搞只有连续点击超过三次才会输出,代码前两次安安静静,输入第三次开始刷屏。
这种恶搞代码在开发者圈子里不算新鲜事。早年间有个著名的 alert("你是猪") 弹窗循环,关都关不掉,只能强杀进程。还有人在 CSS 里写 body: hover { transform: rotate(180deg); },鼠标一划过去整个页面倒过来。但"我是猪"这个案例有意思的地方在于,它的攻击对象不是用户,是写代码的人自己。
我后来跟那个实习生聊过。他说本来想写个 console.log("提交成功") 做调试,结果那天中午吃外卖的时候被同事怂恿,说"你敢不敢改成我是猪"。他脑子一热就改了,想着反正上线前会删掉。结果当天下午产品经理催得急,他直接打包部署,忘了这茬。
这事暴露了一个很实际的问题:开发环境和生产环境的边界,在赶进度的时候经常是模糊的。我见过有人把测试用的 debugger 语句带上线,用户打开开发者工具就断点卡死;也见过 API 请求地址忘了从 localhost 切回正式域名。恶搞代码只是这些疏忽里比较有娱乐性的那一类。
但你说它完全没价值吗?也不对。有些团队会故意在代码里埋这种彩蛋,作为内部梗。比如某电商网站曾在 404 页面藏了一句"你是不是又输错地址了,猪头",只有通过特定 URL 参数才能看到。这种设计反而让冷冰冰的错误页有了点人味儿。区别在于,一个是失控,一个是刻意。
我自己后来也干过类似的事。给一个内部工具写了个隐藏命令,在输入框里打"我是猪"三个字,页面就会撒花。同事发现之后笑了半天,但没人觉得被冒犯——因为那个工具只有我们五个人用。放到面向几百万用户的正式产品里,性质就完全不一样了。
所以每次看到"恶搞代码"上热搜,我都不太关心代码本身有多好笑。我关心的是:谁写的、给谁看的、有没有人因此真的被坑。那个实习生的"我是猪"最后被截图传遍了十几个群,他本人倒没被开除,但转正答辩的时候被技术总监当众问了一句"你觉得自己是猪吗"。他后来跟我说,那一刻他真想在地上找个 console.log 钻进去。
代码终究是给人看的,哪怕是恶搞,也带着写代码那个人的性格和处境。一行"我是猪"背后,可能是一个加班到凌晨三点的年轻人,被同事起哄,脑子一抽,然后忘了删。这比任何技术文档都真实。
(责任编辑:探索)













