想搞CSS建议站?先问问IE6的棺材板答不答应,我血压已经上来了

妈的,当初就不该听信什么‘做个纯净的技术分享社区’这种鬼话,看着那些在 Stack Overflow 上被点爆的 CSS 问题脑袋一热就开干了,结果现在每天打开后台不是看到有人提交了一屏幕的 !important 试图覆盖所有规则,就是用各种 Hack 手法兼容上古浏览器的代码——哥,202X年了,咱们能放过 IE 吗?我甚至收到过一份用滤镜模拟渐变并声称这是性能优化的‘建议’,那一刻我真的怀疑人生。

最崩溃的一次是某个‘大神’提交了一段涉及大量复杂选择器和嵌套的代码,美其名曰‘极致优化’,结果直接把我线上预览沙盒的渲染线程干满了,整个 Docker 容器直接 OOM 崩溃连带主站都 502 了五分钟,你知道凌晨三点被报警短信吵醒然后盯着监控图上一根直线是什么感觉吗?抽了半包烟才没把电脑砸了。

所以,真想弄,听我几句用头发换来的‘遗言’:第一道防火墙必须是代码沙盒,别让任何未经审查的、带有可能导致无限循环或性能炸弹的 JS/CSS 直接跑在你服务器上,用 iframe 沙盒或者 Worker 隔离开,不然分分钟教你做人。第二,审核机制比代码高亮更重要,你得想好怎么处理那些‘有毒’的提交——是直接拒绝,还是标记为‘不推荐’?我后来干脆做了个‘代码体检’功能,自动检测过于复杂的选择器、潜在的性能问题和已废弃的属性,这玩意儿救我狗命。至于平台选择,用静态站点生成器(SSG)可能比纯动态站省心一万倍,毕竟内容更新没那么频繁,还能白嫖 CDN,别像我一开始就头铁上全栈框架,维护成本高到你想哭。

最后,也是最大的坑:‘建议’的质量控制。你鼓励分享‘炫技’代码,可能就引来一堆难以维护的‘屎山’;你强调实用和规范,社区可能就显得无聊。我在标题(Title)和描述(Description)的规则上就栽了跟头,最初让用户随便写,结果收录了一堆‘帮我看看这段代码’、‘测试’这种毫无价值的页面,后来强制要求结构化提交(问题描述、解决方案、兼容性说明)才好一点。真的,如果你没想好怎么引导内容和抵御垃圾信息,我劝你先别买服务器,真的,听我的。

对了,还有。别指望靠这个吃饭,除非你能做成权威标杆。我现在这站,流量嘛有一点,但每月服务器、存储还有为了审核代码招的兼职前端的开销,基本就是在用爱发电。看着那些采集我站内容然后挂满广告的站排名比我好,我只能说,这很互联网。算了,不说了,我得去处理一个新提交的、试图用 CSS 画《蒙娜丽莎》的 PR 了,祝他成功吧。

相关推荐