
导航收藏不迷路—制造业数据与AI践行者老蒋的技术博客全系列文章汇总持续更新 发布信息专栏WorkBuddy工作场景应用实践 · #04系列【场景实战】这是「WorkBuddy 工作场景应用实践」的第 4 篇。前三篇我们分别用它搞定了 CSDN 数据分析、截图批量重命名、Git 日志自动周报今天聊聊更硬核的场景AI 辅助代码审查。发布日期2026-08-12标签#WorkBuddy#代码审查#AI辅助编程#Python代码质量#研发效能#IT老兵实战#Prompt模板关联主文我用 WorkBuddy 分析了 30 篇 CSDN 博客发现 3 个反直觉的流量真相 文章摘要针对团队代码审查 “说轻了没用、说重了得罪人” 的痛点本文分享用 WorkBuddy 做第一轮 AI 代码审查的完整实战流程。覆盖 6 个审查维度、P0-P2 分级问题清单、代码补全与验证闭环附可直接复用的审查 Prompt 模板既提升审查效率也避免人际尴尬。目录一、开篇代码审查的“恶人困境”二、素材准备三个Python文件三、第一轮代码审查6个维度四、审查报告完整呈现整体评价各文件详细审查config.pyimport_data.pystart_dashboard.py综合改进建议按优先级排序五、为什么这份审查报告质量高六、第二轮代码补全七、第三轮验证——发现并补齐依赖八、关于 index.html 的源码九、核心收获十、实在人总结十一、评论区炸弹 系列导航一、开篇代码审查的“恶人困境”兄弟们问你们一个扎心的问题团队里让你做代码审查你一般怎么说“这个地方写得不错但建议优化一下”——这是客套话说了等于没说。“这个变量命名不规范这个异常没捕获这个逻辑有漏洞”——这是实话但说多了你就是“那个挑刺的人”。作为一个在IT混了十几年的老家伙我太了解这种尴尬了——技术上都懂人情上很难。说轻了没用说重了得罪人。而且还有一个更现实的问题你真有时间一行一行看吗我上个月发了#01源码CSDN后台数据分析系统评论区不少兄弟在问代码能不能分享、能不能跑通。我当时就想——这套代码我自己跑过但到底写得怎么样有没有隐藏问题我决定换个玩法让WorkBuddy先扛第一轮火力。二、素材准备三个Python文件我选了之前发布的#01源码文章里的三个核心文件文件职责config.py统一配置入口路径/字段/Sheet定义import_data.py数据导入引擎增量合并归档生成看板数据start_dashboard.py本地服务启动器离线静态服务缺一个index.htmlHTML太长了文章里没贴。正好——让WorkBuddy不仅审查还帮我把缺的补上。这就叫“查漏补缺”。三、第一轮代码审查6个维度我把三个Python文件丢给WorkBuddy输入了下面这个Prompt【可直接复制・代码审查 Prompt】请审查以下三个Python文件它们是一个CSDN后台数据分析系统的核心模块。 文件列表 1. config.py - 统一配置入口 2. import_data.py - 数据导入引擎 3. start_dashboard.py - 本地服务启动器 请从以下维度进行审查 1. 代码规范命名、格式、类型注解 2. 异常处理是否完善、是否结构化 3. 日志记录是否分级、是否可追溯 4. 配置管理是否硬编码、是否可扩展 5. 跨平台兼容性Windows/Linux路径处理 6. 三个模块之间的接口设计是否合理 输出格式 ## 审查概览 [整体评价] ## 各文件详细审查 ### config.py - 优点... - 问题... - 改进建议... ### import_data.py ... ### start_dashboard.py ... ## 综合改进建议 [优先级排序的改进清单]然后WorkBuddy给出了一份让我意外的审查报告。四、审查报告完整呈现整体评价代码质量中上工程化意识较好。三个模块职责清晰、接口设计合理pathlib.Path统一贯穿、异常处理有结构化返回{ok, error, suggestion}。但存在专栏归属不一致、日志配置重复、os.chdir副作用、硬编码散落等几个问题修复后可达到专栏发布标准。各文件详细审查config.py优点pathlib.Path统一跨平台路径目录分层清晰data→inbox/master/archive.env注入格式正确load_dotenv()不存在时不报错按“路径/文件/Sheet字段/运行”分模块分组注释可读性良好常量命名全大写 snake_case符合规范问题优先级问题说明P0专栏归属错误文件头写[Python实践学习笔记]规范要求为AI赋能数据开发工程手册P1DEFAULT_PORT无异常保护int(os.getenv(...))当环境变量为非法字符串时直接抛ValueErrorP2缺少环境依赖 Requirements 块规范要求 Python 3.10 及关键库版本P3.resolve()冗余Path(__file__).parent.resolve().parent中.resolve()无实际效果改进建议# DEFAULT_PORT 加 try/except 兜底 _port_raw os.getenv(CSDN_DASHBOARD_PORT, 8777) try: DEFAULT_PORT int(_port_raw) except ValueError: DEFAULT_PORT 8777import_data.py优点文件头 环境依赖 类型注解齐全符合V1.2规范的主体要求run_import返回结构化{ok, error, suggestion}可被AI Agent安全调用增量合并逻辑正确主键去重 keeplast新增/更新统计数据可靠日期清洗norm_date用正则优先 pandas兜底覆盖中文/分隔符两类格式read_master_sheet单点封装主库缺失时安全降级为None导入异常不会中断整体流程单文件失败 → 跳过 记日志 继续问题优先级问题说明P0专栏归属错误同上需改为AI赋能数据开发工程手册P1指标列名硬编码散落clean_daily中硬编码[阅读量, 评论数, 粉丝数, 收藏数]clean_article中硬编码[展现量, 阅读量, 评论数, 收藏数, 关注数]应从DAILY_COLS/ARTICLE_COLS动态提取P1重复导入风险archive_file只复制不删除源文件若用户重复运行同一文件会被重复导入因为archive中timestamp前缀不同但源文件还在inboxP2主库写入非原子write_master直接用pd.ExcelWriter覆盖MASTER_XLSX若写入中途崩溃原主库丢失P3部分子函数无独立异常保护archive_file、export_data_js依赖上层 try/except若被单独调用缺少保护改进建议# 指标列名从 config 动态提取 METRIC_COLS_DAILY [c for c in DAILY_COLS if c not in KEY_DAILY] METRIC_COLS_ARTICLE [c for c in ARTICLE_COLS if c not in KEY_ARTICLE] # 导入成功后删除 inbox 源文件归档已留存 path.unlink()start_dashboard.py优点零第三方依赖仅标准库满足“完全离线”约束端口绑定127.0.0.1不暴露局域网安全性好OSError/KeyboardInterrupt都有友好捕获和处理浏览器打开失败静默降级不中断服务main函数接收argv参数便于测试问题优先级问题说明P0专栏归属错误同上P1os.chdir()副作用os.chdir(os_chdir_target)改变全局进程工作目录若后续代码依赖原工作目录会出错P2日志级别硬编码configure_logging()中 level 固定为logging.INFO未读取config.LOG_LEVELP2类型注解不完整handlers: list未参数化应为list[logging.Handler]argv: list同理应为list[str]P2日志配置代码重复configure_logging()与import_data.py几乎完全重复应提取到config.py或独立模块改进建议# 替换 os.chdir 为 directory 参数Python 3.7 import functools handler functools.partial( http.server.SimpleHTTPRequestHandler, directorystr(DASHBOARD_DIR) )综合改进建议按优先级排序优先级改进项涉及文件工作量P0专栏归属统一为AI赋能数据开发工程手册全部3个3行改动P1os.chdir()替换为directory参数start_dashboard.py2行P1指标列名从 config 动态提取消除硬编码import_data.py4行P1导入后删除 inbox 源文件防止重复导入import_data.py3行P1DEFAULT_PORT转换加 try/except 兜底config.py5行P2主库写入先写.tmp再 rename原子化import_data.py5行P2日志配置提取为公共函数config.py 2模块10行P2补全list[str]/list[logging.Handler]类型注解start_dashboard.py3行P3config.py 补充 Requirements 块、去掉.resolve()config.py3行五、为什么这份审查报告质量高兄弟们我见过太多代码审查工具了——它们能检查语法错误、能检查格式问题但它们不理解代码的“意图”。WorkBuddy这份报告强在三个地方亮点说明理解“为什么这么写”它能识别{ok, error, suggestion}是为了让AI Agent安全调用而不是“随便写了个返回结构”理解“跨平台坑在哪”它能指出os.chdir()的副作用知道Windows路径和Linux路径的差异理解“数据流”它能发现“列名硬编码”的问题——这需要对数据清洗流程的理解不是简单的字符串匹配架构层面的判断也很准“三个模块的接口设计整体合理——config纯常量、import管线化、dashboard单服务职责无交叉run_import的结构化返回是亮点。”这不是“工具”能说出来的话这是“有经验的架构师”才能给出的判断。六、第二轮代码补全审查完三个Python文件后我又让WorkBuddy做了一件事“基于这三个文件的逻辑补全缺失的index.html。”结果如何WorkBuddy输出了一个完整的index.html包含模块说明KPI卡片累计阅读量、文章总数、累计评论、累计收藏自动计算阅读趋势图ECharts折线图含阅读/评论/收藏/粉丝四条曲线文章Top10按阅读量排名的条形图雷达图Top5文章在展现/阅读/评论/收藏/关注五个维度的对比每日明细表按日期倒序展示每日指标文章明细表按阅读量倒序展示文章详情手动导入用SheetJS支持拖入Excel文件后备方案关键特性依赖库完全本地化lib/目录0网络请求支持window.CSDN_DATA自动加载支持手动导入Excel作为后备UI风格匹配专栏品牌色七、第三轮验证——发现并补齐依赖HTML生成后我双击打开index.html页面报错依赖缺失请将echarts.min.js放入lib/目录。这不科学啊......代码写了但依赖库没补齐页面跑不起来。我把报错信息丢给WorkBuddy它立刻识别了问题——index.html引用了两个第三方库但lib/目录是空的依赖库版本大小用途echarts.min.jsv5.5.01.0 MBECharts图表引擎xlsx.full.min.jsv0.20.1923 KBSheetJS Excel读写WorkBuddy帮我把这两个库下载到了lib/目录。再次打开index.html页面正常渲染所有图表、表格、交互全部可用。这时我才意识到WorkBuddy补全代码的能力不只是“写代码”——它还能理解“代码需要什么才能运行”并补齐缺失的资源。八、关于index.html的源码由于index.html代码较长这里只展示核心架构。完整代码已随文章发布需要的兄弟评论区留言“要HTML”即可获取。核心代码结构!DOCTYPE html html langzh-CN head !-- 依赖lib/echarts.min.js lib/xlsx.full.min.js -- /head body !-- Header标题 数据状态 -- !-- KPI卡片4个核心指标 -- !-- 趋势图ECharts折线图 -- !-- Top10排名 雷达图 -- !-- 明细表每日 文章双Tab -- !-- 手动导入SheetJS后备方案 -- script // 数据加载优先 window.CSDN_DATA后备手动导入 // 图表渲染ECharts 5.x // 表格渲染纯JS DOM /script /body /html两种数据加载方式自动import_data.py生成dashboard/data.jswindow.CSDN_DATA双击index.html直接显示手动页面底部「 手动导入 Excel」直接上传CSDN导出的.xlsx自动识别合并九、核心收获序号收获1WorkBuddy做代码审查是真能看懂代码。不是简单的“格式检查”是“意图理解”——能指出{ok, error, suggestion}是为AI Agent设计的也能指出os.chdir()的跨平台风险2审查报告的价值在于“分级”。P0必须改vs P1建议改vs P2可优化——有了优先级你才知道先修什么而不是面对一堆意见无从下手3补全代码这事有前提。WorkBuddy生成的index.html是基于三个Python文件的逻辑反向推导的——如果代码逻辑不清晰它也没法推导。所以它其实是在“验证”代码的可理解性4验证环节不可或缺。WorkBuddy能生成代码也能帮你补齐依赖——你只需要把报错信息丢回去它能识别“缺了什么”并给出方案。这是一个闭环生成 → 验证 → 补齐5代码审查最怕的是“看完了等于没看”。WorkBuddy给的每一条意见都具体到文件、到行、到改进方案你照着改就行十、实在人总结怕你忘了我再啰嗦一遍1. WorkBuddy做代码审查是真能看懂代码。不是简单的“格式检查”是“意图理解”。它能指出{ok, error, suggestion}是为了AI Agent设计的也能指出os.chdir()的跨平台风险。2. 审查报告的价值在于“分级”。P0必须改vs P1建议改vs P2可优化——有了优先级你才知道先修什么。3. 补全代码这事有前提。WorkBuddy生成的index.html是基于三个Python文件的逻辑反向推导的——如果代码逻辑不清晰它也没法推导。所以它其实是在“验证”代码的可理解性。4. 验证环节是闭环的关键。代码生成后跑一遍、报错、丢回去、补齐依赖——这是一个完整的“生成→验证→补齐”闭环。别以为生成完就结束了验证才是分水岭。5. 代码审查最怕的是“看完了等于没看”。WorkBuddy给的每一条意见都具体到文件、到行、到改进方案你照着改就行。补充说明AI 代码审查适合做规范性、异常处理、代码风格这类常规问题的第一轮筛查核心业务逻辑、架构设计类的问题依然需要人工最终把关。AI 做的是 “兜底扫雷”人做的是 “价值判断”。十一、评论区炸弹兄弟们我这篇把WorkBuddy的审查报告完整公开了——有优点、有问题、有分级、有改进建议。现在轮到你们了你在代码审查中遇到最尴尬的事是什么A. 挑完毛病对方不服吵了一架B. 自己写的代码被人当面指出低级错误C. 根本没人审查代码直接上线D. 我从来不写代码审查你是老板吧评论区扣一个我选3位兄弟送一份Prompt模板——就是我这篇用的那个审查Prompt。够意思吧评论区见 系列导航上一篇#03 周五下午别再翻git log了WorkBuddy帮我自动生成周报下一篇#05 《制造MES工时异常检测AI帮我2小时干完Excel 2天的活》本文所用代码源自#01源码首发文章审查报告为WorkBuddy真实输出。完整的审查报告、补全的index.html和依赖库已随文章公开。需要的兄弟评论区留言即可。