网易首页 > 网易号 > 正文 申请入驻

GitHub Copilot把3行代码写成6行

0
分享至


React开发者最近发现一个规律:只要项目里用了AI写代码,几乎都能搜到同一组模式——useStateuseEffect,把本该直接计算的值存进状态。

GitHub Copilot写这段代码时毫无犹豫,零警告,零报错。组件能跑,测试能过,直到生产环境出现那种"刷新两次才显示正确数字"的诡异bug。

AI的默认答案,是人的思维盲区

Copilot生成的典型代码长这样:

const [total, setTotal] = useState(0)useEffect(() => {  setTotal(items.reduce((sum, i) => sum + i.price, 0))}, [items])

表面看没毛病。但total根本不是状态——它是items的派生值(derived state,派生状态)。每次items变化,total本来就要重新算,强行塞进useState再用useEffect同步,等于凭空造出第二个真相来源。


后果很具体:组件渲染两次而非一次,状态永远慢一帧,useEffect的存在理由仅仅是"AI没被禁止这么写"。

正确的写法只有3行:

const total = items.reduce((sum, i) => sum + i.price, 0)

没有状态,没有副作用,每次渲染直接计算。一次渲染,一个真相来源,零冗余状态。

为什么AI偏爱"复杂答案"?

Copilot没坏,它只是在做模式匹配。它见过成千上万份代码里useStateuseEffect成对出现,于是默认伸手就拿这对组合——不管场景需不需要。


AI没有"派生状态"的概念。它不判断某样东西该存还是该算,只生成看起来合理的代码。

合理不等于正确。这是AI编程的核心陷阱:它模仿的是代码的形状,而非代码的意图。

原作者Avery Labs统计,useEffect的误用是React项目中最常见的AI编码错误。不是因为这种模式少见,而是因为Copilot对派生状态、同步逻辑、本不该成为副作用的东西,会条件反射式地套用useEffect

你的代码库正在积累"AI债务"

每个AI没有明确约束的领域,都是它即兴发挥的空间。而即兴的useEffect逻辑在真实代码库里会指数级蔓延——一个组件多渲染一次,十个组件就是十次,用户感知到的卡顿没有堆栈 trace 可查。

原作者为此做了份20项检查清单,专门定位这类结构性弱点:AI输出为何不可预测,你的应用为何脆弱。不是让你猜,不是让你 endless prompt(无限追问提示词),而是把"该修什么"列清楚,再开下一轮生成。

同一套AI,规则不同,输出完全不同。

你最近一次 review AI写的React代码时,有没有扫过一眼useEffect的依赖数组?还是说,只要没报错就过了?

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
刘昊然郭麒麟冲上热搜!组团唱商K画面曝光,一个恐违规一个惯犯

刘昊然郭麒麟冲上热搜!组团唱商K画面曝光,一个恐违规一个惯犯

萌神木木
2026-03-27 11:03:59
春天最化痰的菜,不是白萝卜而是它,养脾消痰祛湿,越吃越轻松

春天最化痰的菜,不是白萝卜而是它,养脾消痰祛湿,越吃越轻松

暖心萌阿菇凉
2026-03-27 23:24:02
6天5个涨停板!股民:卖错拍断了大腿!

6天5个涨停板!股民:卖错拍断了大腿!

数据挖掘分析
2026-03-28 15:41:51
连战方面出手后,失去马英九信任的金溥聪彻底急了,邱毅一语道破

连战方面出手后,失去马英九信任的金溥聪彻底急了,邱毅一语道破

爱看剧的阿峰
2026-03-28 16:54:01
张雪峰追悼会定于本周六,丧事从简不搞排场,11岁女儿成全家心病

张雪峰追悼会定于本周六,丧事从简不搞排场,11岁女儿成全家心病

未曾青梅
2026-03-26 22:48:49
张雪峰经典名言 100 条(完整版)

张雪峰经典名言 100 条(完整版)

新浪财经
2026-03-25 06:17:25
62岁老人查出阴茎癌!他的坏习惯为所有人敲响警钟!值得借鉴

62岁老人查出阴茎癌!他的坏习惯为所有人敲响警钟!值得借鉴

路医生健康科普
2026-03-27 17:42:19
00后潮汕女孩逆袭成顶流,这“黑裙杀性感身材”真实?

00后潮汕女孩逆袭成顶流,这“黑裙杀性感身材”真实?

娱乐领航家
2026-03-12 19:00:07
苏敏旅游6年后完全认不出,连面相都变了,网友:这16万花得值!

苏敏旅游6年后完全认不出,连面相都变了,网友:这16万花得值!

一盅情怀
2026-03-27 16:43:32
怀孕传闻真相大白后,翁帆突传“喜讯”,杨振宁终于可以放心了!

怀孕传闻真相大白后,翁帆突传“喜讯”,杨振宁终于可以放心了!

丁丁鲤史纪
2026-03-25 16:35:13
山东女子造出“天眼导弹”,突破中国导弹50年难关,坐拥26项专利

山东女子造出“天眼导弹”,突破中国导弹50年难关,坐拥26项专利

策略述
2026-03-26 13:44:30
网传《雄狮少年》出品方倒闭,当年怼网友,终于为自己的行为买单

网传《雄狮少年》出品方倒闭,当年怼网友,终于为自己的行为买单

八卦南风
2026-03-27 17:17:39
前女篮主帅郑薇带队复出!首秀输球爆大冷门,首发国手6中1仅3分

前女篮主帅郑薇带队复出!首秀输球爆大冷门,首发国手6中1仅3分

老吴说体育
2026-03-28 00:44:28
冰雹!大暴雨!8~10级雷暴大风!今年首场大范围强对流天气即将来袭,注意防范

冰雹!大暴雨!8~10级雷暴大风!今年首场大范围强对流天气即将来袭,注意防范

环球网资讯
2026-03-28 15:49:15
张雪峰追悼会,山东大屏让全网破防!

张雪峰追悼会,山东大屏让全网破防!

广告案例精选
2026-03-28 19:53:57
夺冠概率东部第1,残阵擒15战14胜黑马!一人比獭兔26+12+5更该夸

夺冠概率东部第1,残阵擒15战14胜黑马!一人比獭兔26+12+5更该夸

锅子篮球
2026-03-28 11:45:28
大S灵魂缠着具俊晔!翻白眼女星玩剧组夫妻!

大S灵魂缠着具俊晔!翻白眼女星玩剧组夫妻!

八卦疯叔
2026-03-27 16:16:34
昨晚跟闺蜜去洗澡,一脱衣服我才明白,女人和女人,真的不一样

昨晚跟闺蜜去洗澡,一脱衣服我才明白,女人和女人,真的不一样

i书与房
2026-03-04 16:26:24
初选结果出炉:徐欣莹50.63%险胜杨琼樱,差距仅1%

初选结果出炉:徐欣莹50.63%险胜杨琼樱,差距仅1%

琨玉秋霜
2026-03-28 22:55:57
跑步时倒下的考研老师,41岁没跑完的半马,他体检单上缺了一页

跑步时倒下的考研老师,41岁没跑完的半马,他体检单上缺了一页

解说阿洎
2026-03-28 10:38:48
2026-03-29 00:44:49
Ping值焦虑
Ping值焦虑
有态度网友ytd
302文章数 2关注度
往期回顾 全部

科技要闻

华为盘古大模型负责人王云鹤确认离职

头条要闻

美媒:和欧盟"外长"发生激烈交锋 鲁比奥"显然很恼火"

头条要闻

美媒:和欧盟"外长"发生激烈交锋 鲁比奥"显然很恼火"

体育要闻

“我是全家最差劲的运动员”

娱乐要闻

陈牧驰陈冰官宣得子 晒一家三口握拳照

财经要闻

卧底"科技与狠活"培训:化工调味剂泛滥

汽车要闻

置换补贴价4.28万起 第五代宏光MINIEV正式上市

态度原创

时尚
数码
游戏
公开课
军事航空

和田曦薇一样嫩嘟嘟,这3个变美技巧你一定不能错过!

数码要闻

好用的男士剃须刀哪个牌子好?综合表现出众的十大剃须刀排名甄选

全套要上千美元!PS5Pro定价竟是PS4Pro的2.5倍

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美军中东基地损失最新披露

无障碍浏览 进入关怀版