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

Claude Code 3个月造出"屎山代码"

0
分享至


AI写代码的速度已经卷到按小时计费。Claude Code、Cursor、Codex这些工具能在几小时内搭完整个项目,而且每个月都在变强。

但有个问题被严重低估了:AI工具只管代码能跑,不管架构死活。

它们生成的代码通过测试、顺利编译,但几周几个月后,代码库悄悄堆积起一种"建筑债务"——循环依赖、数据层直接调用API层、50个导出的上帝模块、无人清理的死代码。人类没察觉,AI代码审查也漏过。

TrueCourse的作者就是在自己的项目里踩了这个坑。AI代理写代码越来越快,但他仔细审查后发现:本该隔离的服务紧紧耦合,本该分层的边界互相渗透,却没人盯着系统整体。

于是他动手做了这个开源工具。

从"能跑就行"到"架构健康":TrueCourse查什么

TrueCourse是一套CLI+Web UI组合,专门抓JavaScript/TypeScript代码里人和AI都漏掉的结构性、语义性问题。

架构违规层面,它盯循环依赖、层级越界、上帝模块、死模块、服务间紧耦合。代码智能层面,它找空catch块吞错误、共享可变状态导致的竞态条件、函数名与行为不符、Math.random()生成令牌或eval()处理动态输入这类安全反模式。

跨服务追踪是它的绝活:自动检测请求流如何穿越服务边界,并可视化为端到端链路。数据库分析则能识别Prisma、TypeORM、Drizzle等ORM,生成ER图,检查缺失索引和schema问题。

技术路线上,它把确定性规则(基于AST的静态分析)和AI深度审查结合起来。用户可以自选LLM供应商,也可以直接用Claude Code——不需要API key。

第一次运行只需一行命令:npx truecourse analyze。它会启动本地服务器,嵌入PostgreSQL数据库(无需Docker),引导配置LLM。终端打印违规项,Web UI自动弹出交互式依赖图。点击任意节点,能看到连接关系、违规详情、带内联标记的源码。

双界面设计:给人看,也给AI用

这个设计是刻意的。TrueCourse有两套界面:

Web UI给想可视化探索代码库的开发者——依赖图、内联代码查看器、分析仪表盘、diff模式。CLI则面向AI编码代理、CI流水线、自动化场景,输出结构化数据供代理消费。你可以从Claude Code里跑analyze,再进UI审结果。

两套界面共享同一分析引擎和分析历史。


实际跑起来,TrueCourse会生成几类关键报告。架构健康度用0-100分量化,按循环依赖、层级违规、模块复杂度、耦合度、死代码加权计算。模块依赖图用D3.js力导向布局,节点大小对应代码行数,颜色区分服务边界,红色虚线标违规连接。

跨服务请求流用桑基图展示,宽度对应调用频率,悬停显示平均延迟和错误率。数据库schema以交互式ER图呈现,外键关系自动连线,缺失索引用橙色警告标出。

一个典型场景:某微服务代码库跑完分析,发现订单服务直接调用用户服务的私有数据库——本应该走API的。TrueCourse在依赖图上把这条线标成红色,附上代码位置,并指出这破坏了"服务间通过契约通信"的架构原则。

AI编码时代的"架构守门人"

TrueCourse的差异化在于定位。它不是替代AI编码工具,而是给它们补一道架构安检。

现有工具链的分工大致这样:GitHub Copilot、Cursor们负责生成代码片段;Claude Code、Devin们负责端到端任务执行;ESLint、TypeScript编译器抓语法和类型错误;SonarQube、CodeClimate做传统静态分析。

但架构层面的问题——服务边界侵蚀、隐式依赖蔓延、技术债务累积——这些工具要么不碰,要么覆盖不全。TrueCourse填的就是这个空。

它的技术实现也有讲究。AST分析用Babel解析器处理JS/TS,生成代码的完整语法树,再遍历查找违规模式。AI审查层把代码片段和架构规则一起喂给LLM,让它判断语义层面的问题——比如函数名promiseSecureToken但实际用Math.random(),这种"说一套做一套"的代码。

性能上,中型代码库(约10万行)首次分析约2-3分钟,增量分析30秒内。分析结果存本地PostgreSQL,支持历史对比和趋势追踪。

开源策略选了MIT协议,代码在GitHub公开。作者明确表示欢迎贡献,但核心架构规则集由维护团队把控——"确保质量门槛不滑坡"。

社区反响超出预期。发布两周,GitHub star数破4000,Hacker News讨论帖热度前三。最集中的反馈是:"终于有人做这个了"——太多开发者被AI生成的"能跑但腐坏"代码困扰,却缺乏工具化解决方案。

也有质疑声。部分人担心AI审查层本身依赖LLM,可能产生误报或漏报;另一些人觉得架构规则难以统一,不同团队的最佳实践差异很大。作者的回应是:规则集可配置,团队可以自定义层级定义、耦合阈值、忽略模式,但默认规则基于广泛接受的软件工程原则。

更实际的挑战来自集成深度。TrueCourse目前专注JS/TS生态,Python、Java、Go的支持在路线图但无时间表。数据库分析也只覆盖主流ORM,原生SQL或小众工具识别有限。

但这些没挡住早期采用者的热情。已有团队把它塞进CI流水线,每次PR跑架构健康度检查,分数下降就阻断合并。也有人在Claude Code工作流里固定跑analyze,让AI代理先审结构问题再改代码。

一个被反复提到的细节:TrueCourse的diff模式。它能对比两次分析结果,高亮新增违规和修复项。这对追踪AI编码会话的"架构副作用"特别有用——你让AI加了个功能,它顺手破坏了两个服务边界,diff模式让这种隐性成本显性化。

回到最初的问题:AI写代码快,但谁来检查架构?TrueCourse给了一个答案,但可能不是唯一答案。随着AI编码工具普及,"架构即代码""架构可测试"这类理念会不会成为标配?你的团队现在怎么保证AI生成的代码不变成明天的技术债务?

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

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.

相关推荐
热点推荐
贾宝玉第一次“干人事”要找袭人,为何?看袭人做了什么动作

贾宝玉第一次“干人事”要找袭人,为何?看袭人做了什么动作

谈史论天地
2026-04-08 15:50:06
单打32强出炉!国乒6人出局,向鹏温瑞博石洵瑶领衔太原主场争冠

单打32强出炉!国乒6人出局,向鹏温瑞博石洵瑶领衔太原主场争冠

莼侃体育
2026-04-09 08:49:05
随着本泽马独造4球+C罗争冠劲敌6-0碾压,沙特联最新积分榜出炉

随着本泽马独造4球+C罗争冠劲敌6-0碾压,沙特联最新积分榜出炉

侧身凌空斩
2026-04-09 04:33:45
“不能为美国流血,找中国去”

“不能为美国流血,找中国去”

观察者网
2026-04-09 10:05:03
1959年,18岁陈丽华与北京电信系统某高管结婚

1959年,18岁陈丽华与北京电信系统某高管结婚

果妈聊娱乐
2026-04-09 10:01:34
出口暴涨73%、均价飙升52%:是谁在疯狂买爆“落后”的中国芯片?

出口暴涨73%、均价飙升52%:是谁在疯狂买爆“落后”的中国芯片?

兴史兴谈
2026-04-08 12:48:34
收复台湾后,第一任省长由谁担任最合适?五人上榜,一人脱颖而出

收复台湾后,第一任省长由谁担任最合适?五人上榜,一人脱颖而出

探源历史
2026-01-11 11:24:43
金莎带婆婆度假,主动挽她手臂把婆婆当亲妈一样亲近,孙妈好年轻

金莎带婆婆度假,主动挽她手臂把婆婆当亲妈一样亲近,孙妈好年轻

八怪娱
2026-04-08 19:20:25
槟榔包装上印着刘德华肖像,品牌方称并非代言,而是18年前《投名状》剧照宣发,律师解读

槟榔包装上印着刘德华肖像,品牌方称并非代言,而是18年前《投名状》剧照宣发,律师解读

极目新闻
2026-04-07 19:20:23
医生坦言:只要血脂报告里没有这2个词,血管健康就不用太担忧

医生坦言:只要血脂报告里没有这2个词,血管健康就不用太担忧

健康科普365
2026-04-07 11:35:05
内讧大戏上演!湖人三名球员被牵连,真的不应该啊...

内讧大戏上演!湖人三名球员被牵连,真的不应该啊...

体育新角度
2026-04-09 14:24:57
深山挖出失踪15年的运钞车,箱内竟无分文,揭开一场惊天骗局!

深山挖出失踪15年的运钞车,箱内竟无分文,揭开一场惊天骗局!

晓艾故事汇
2026-01-07 10:10:07
刘维伟怒骂韦瑟斯庞后续!更衣室继续点出不足,韦瑟斯庞未回话!

刘维伟怒骂韦瑟斯庞后续!更衣室继续点出不足,韦瑟斯庞未回话!

篮球资讯达人
2026-04-09 14:02:13
时隔6年,曾扬言让中国道歉的阿丘现状如何?

时隔6年,曾扬言让中国道歉的阿丘现状如何?

悠悠说世界
2026-04-07 23:32:06
历史老师跌入“无人区”:某高中20人教研组,近一半无学生可教

历史老师跌入“无人区”:某高中20人教研组,近一半无学生可教

听心堂
2026-03-31 15:52:04
詹俊:巴萨很难给马竞制造太多麻烦;利物浦看不到翻盘希望

詹俊:巴萨很难给马竞制造太多麻烦;利物浦看不到翻盘希望

懂球帝
2026-04-09 05:29:05
国防大学创办者、历任校长

国防大学创办者、历任校长

祁州校尉
2026-04-09 09:00:30
美国两党全在骂!共和党人公开斥责特朗普:别拿谈判当借口

美国两党全在骂!共和党人公开斥责特朗普:别拿谈判当借口

辉辉历史记
2026-04-09 12:23:12
2026年4月9日,全国各大银行最新存款利率

2026年4月9日,全国各大银行最新存款利率

星辰宇的不羁
2026-04-09 10:52:19
“学习学傻了吧?”女孩晒满墙奖状,挑衅有钱人被嘲:头脑不清醒

“学习学傻了吧?”女孩晒满墙奖状,挑衅有钱人被嘲:头脑不清醒

世界圈
2026-04-08 09:21:08
2026-04-09 15:08:49
薛定谔的BUG
薛定谔的BUG
有态度网友ytd
998文章数 30关注度
往期回顾 全部

科技要闻

Meta凌晨首发闭源大模型 扎克伯格又行了?

头条要闻

陈丽华告别仪式举办 马德华:迟重瑞心里很难过

头条要闻

陈丽华告别仪式举办 马德华:迟重瑞心里很难过

体育要闻

8万人面前心脏骤停 现在他还站在球场上

娱乐要闻

金莎官宣结婚 与老公孙丞潇相差18岁

财经要闻

谈判基础已被破坏!霍尔木兹海峡关闭

汽车要闻

8155芯片+L2智驾 瑞虎5运动版上市 置换补贴价6.79万元起

态度原创

亲子
艺术
教育
数码
军事航空

亲子要闻

以人类目前的意志力还不足以抵抗这种萌物

艺术要闻

庞茂琨 2026油画写生新作

教育要闻

北京这三位中小学校长书记上榜!全国五一劳动奖章公示名单出炉

数码要闻

Google Gemini 新增“笔记本”功能 与 NotebookLM 打通知识库

军事要闻

黎真主党发射火箭弹 回应以违反停火协议

无障碍浏览 进入关怀版