TwKit
正在载入
TwKit

有个很隐蔽的 Bug:后端明明有这条数据,前端点进详情却返回 404。 问题出在一个 ID 上。 后端用的是 Snowflake ID,64 位整数直接作为… · @thebitcode · TwKit

@thebitcode

有个很隐蔽的 Bug:后端明明有这条数据,前端点进详情却返回 404。 问题出在一个 ID 上。 后端用的是 Snowflake ID,64 位整数直接作为 JSON number 返回。到了 JavaScript,超过 2^53 的整数就可能丢失精度。 9007199254740993 经过 JSON.parse,变成了 9007199254740992。 整个过程没有报错,但 ID 已经不是原来的 ID 了。 更有意思的是,AI 写出的代码和测试全部通过,因为测试数据库用的是从 1 开始的自增 ID,根本没覆盖真实生产环境的数据范围。 解决方法倒不复杂:对外的 ID 统一用字符串传输,并在 Schema 层约束类型。 但这件事让我想到,AI Coding 最大的问题可能不是会不会写代码,而是它能不能意识到自己没有测试什么。 测试全绿,只能证明覆盖过的场景没出问题,不能证明代码在真实环境下可靠。

曝光 11 · 评论 1 · 点赞 1 · 书签 0

查看原帖