前端的时间有一半花在了和浏览器解释同一个样式。我把它记在心里,没跟任何人说。我把这个动画换成了 CSS 实现,JS 终于可以歇一会

页面在本地是好的,上线之后它有了自己的想法。我默默记下了这句话。我在心里默默给这个页面的兼容性打了个问号。连茶水间都安静了

联调了一下午,最后发现是前端传的参数名多了一个 s。我把手上的资料翻出来又读了两遍。我在心里默默给这个页面起了个名叫「将就版」。好在最后有惊无险

我量的间距和设计稿永远差两个像素。我盯着屏幕,觉得这才是我的一天。最后发现是某个第三方组件库自带了全局样式。世界瞬间清净了

这个页面的交互有八种状态,需求文档里只画了一种。我盯着屏幕,觉得这才是我的一天。我把这个弹窗的遮罩层加上了,用户终于不会再点到后面。复盘会上我们把它列成了案例

后端工程师看到前端发来的数据:这格式怎么又是错的。我忽然觉得,这可能就是这一行的常态。我把这个类名改得再语义化了一点,一个月后我自己也不认识。第二天这个方案就变成了团队标准做法

我把这个组件抽出来复用,发现参数有十二个。我先给自己泡了杯茶,做好了打持久战的准备。我把这个状态从局部提到了全局,然后引出了三个新问题。世界瞬间清净了

页面在 2G 网络下加载了三十秒,产品经理说这已经是优化过的了。我把相关的记录都翻了出来做对照。我在心里给这次上线做好了心理准备,果然出了问题。世界瞬间清净了

前端的时间有一半花在了和浏览器解释同一个样式。我打开看了下这个页面的无障碍规范,然后先记了下来。这条经验值直接拉满

我打开了这个页面的源码,发现嵌套了七层 div。我先给自己泡了杯茶,做好了打持久战的准备。我把这个接口返回的字段逐个对了一遍,有两个拼写不对。复盘会上我们把它列成了案例