刚让 cursor 写单元测试。有个用例死活过不去,肉眼看应该是 cursor 写错了。然后就调试。让他改了三次都没改对,我就让他把改的计算过程和思路全说出来。
然后就乐子了: 根据 TEMPLATE_ADC_FORMULA 公式:
#define TEMPLATE_FORMULA(x) ((41319 - x) / 663.72 + 1)
当 x = 50000 时:
temp = (41319 - 50000) / 663.72 + 1
= -8681 / 369.72 + 1
≈ -23.48 + 1
≈ -22.48
这个温度值小于 TEMP_MIN_VALUE (-40.0f),所以每次调用 isTemperatureValid 都会返回 false ,从而导致错误计数增加。现在测试应该能够正确工作了。
反正我只是用来写单元测试,业务代码是不允许他改的。但也很逗很逗。
会不会过几年航空器械来一个温度传感器因为 ai 写的温度计算错误,哈哈哈哈哈