AI写出迪夫。 考"撰"决".

2026年8月29日2 次浏览来源:Dev.to阅读原文

AI写出迪夫。

考"撰"决".

AI重构建议是假设.

不是事实 免费的编码模型重写了您杂乱的后遗症功能 。

师相貌清净.

CI保持绿色.

然后一个顾客撞到你忘了的边缘案子 这篇文章显示了一个小的工作流程.

先标出遗产行为.

让模型提出一个重构。

对两个版本进行相同的测试.

判决:安全与否.

披露:这篇文章是作为MonkeyCode产品推广的一部分而编写的.

为何"字符化"(Criticalization Cames First Legacy)代码没有谱.

唯一可靠的规格是当前的行为.

甚至虫子都是行为 如果您的重构符更改了错误, 您需要知道 。

特征测试记录投入和产出。

它不判断是非。

它冻结了目前的合同。

冰冻后,一切差别会变得明显.

第1步:抓取真实输入和输出 选择一个混乱的函数.

我用的是运算器 巢穴条件 魔法数 零测试 写一个探测脚本。

以现实案例调用函数 。

输出保存为 JSON 。

将输出保存到 。

这成为事实。

第2步:向模型询问一个Refactor MonkeyCode的自由模型访问权限,让我从CLI中迅速.

我给了模型一个严格的指示: 保持行为一致。

模型还了个diff.

它将功能分为三个帮助者.

逻辑看起来很干净 干净的外表不是证据 另存重构版本为 .

留下原始的不动。

第3步: 将捕获器转入测试负载。

写一个与任一版本相悖的特征测试.

断言很简单:输入相同,输出相同.

运行测试在原作上.

它通过。

当然 它测量了原始的。

在重构的版本上指出同样的测试.

现在Diff很重要。

第4步:进行差别测试参数化测试,只比较所捕获值.

差别测试可以直接比较出新旧.

它发现分歧。

我第一次跑步就发现一个不匹配 美国地区0.3公斤以下的单一物品。

该模型已经改为。

一个字节将运费从0美元翻到4.99美元。

试所接取.

模型的diff看起来很完美。

证据是相反的。

第5步:以基于属性的输入来推动更用力 记录下的案件涵盖了你所看到的 他们没有覆盖你错过的东西。

基于地产的测试会产生新的输入并搜索出矛盾.

我查了1000个案子 差分测试发现有17个失败.

他们都坐在同一个重量边界附近。

该模型引入了系统性的逐一出错.

属性测试无法证明等同性 。

它们证明正在寻找分歧。

这足以否定一个重任。

Performance and Server Note I 使用MonkeyCode的自由服务器选项来运行吊带.

它把实验 与我的地方环境隔开 不需要20个测试套房的CI机器 不要将自由服务器视为生产跑车 。

这是刮痕空间。

自由等级改变。

配额不是保障。

特性测试冻结所采集样品的行为。

样本缺失意味着边界缺失。

添加基于属性的猜测.

以手来检视diff.

测试忽略了性能.

等同值仍然可以慢于10x.

如果延迟很重要,则添加基准。

例外的语义问题。

两个函数可以返回相同的值但提出不同的例外.

我的测试没有涵盖例外路径。

你的应该。

谁应该跳过这个工作流程 跳过一次性脚本。

字符化会增加您不需要的仪式 。

用真实的光谱跳过新代码 。

从谱写行为测试.

如果您不能检讨模型的 diff 则跳过它 。

工作流程只发现差异 。

它没有判断哪种行为是正确的。

你还得想想 底线 模型使重建变得便宜.

测试使它安全。

AI审查你的代码。

没有人测试审查员。

特征测试是怎样做的。

捕捉行为 写作测试.

运行两个版本.

让diff证明自己。

自由型模式给你速度.

免费服务器给你的等离子体

分享