本次技术分享会围绕真实项目展开复盘,系统讲解代码评审的常见问题与团队协作规范, 并让每位成员分组完成一次完整的 PR 演练——从提交、评审到合并走通全流程。
活动议程
-
19:00 — 19:20
开场与本次活动目标主讲:指导教师 ZY
说明本次分享会要解决的问题:为什么代码能跑不等于代码好, 团队协作中代码质量该如何保障,并宣布本次演练的分组与评分规则。
-
19:20 — 20:00
真实项目复盘讲解主讲:各方向骨干
以各方向近期真实项目为素材,逐个拆解代码结构,指出在命名、重复逻辑、 错误处理、边界条件上的典型问题,并给出可直接套用的改写方案。
-
20:00 — 20:30
代码评审规范讲解主讲:指导教师 ZY
讲清提交信息怎么写、评审该看什么、什么样的评论该拒绝。 重点强调评审是对事不对人:只讨论代码本身,不评价个人水平。
-
20:30 — 21:15
分组 PR 实战演练全体成员
5 个小组各自认领一份待改进代码,完成提交、互相评审、修改与合并的完整流程。 每组至少提交 2 个 PR,并记录收到的评审意见与实际修改内容。
-
21:15 — 21:30
总结与机制落地指导教师 ZY
点评各组演练成果,宣布代码评审纳入日常项目流程, 明确此后每个项目至少经过一次同伴评审才能进入验收环节。
各方向复盘要点
数据处理脚本的可维护性问题
原脚本把清洗、特征、训练写在同一个函数里,参数一多就难以调试。
- 拆分数据加载、预处理、训练三个独立模块
- 配置项抽到独立文件,不再散落在代码里
- 训练结果统一落盘,便于复现与对比
接口层的异常与事务处理
接口对异常的处理过于笼统,出错时直接抛出原始堆栈,不利于排查。
- 统一异常出口,转换为可读的业务提示
- 关键写操作补上事务回滚测试
- 接口返回结构统一,前端不用逐个适配
重复逻辑与样式的收拢
页面中大量相似的卡片结构被重复书写,改一处要改多处。
- 相同结构抽成可复用组件
- 颜色与间距统一用变量管理,避免硬编码
- 重复样式合并,样式文件体积下降明显
界面适配与边界处理
在小屏设备上出现布局错位,且网络异常时无任何用户提示。
- 补齐异常与空数据两种状态的界面
- 关键布局改为自适应,避免硬编码尺寸
- 增加断网与超时的友好提示
脚本安全与凭据管理
早期脚本把账号密码写死在代码中,且授权范围界定不清。
- 凭据统一走环境变量,禁止硬编码
- 每段测试脚本注明授权范围与目标环境
- 日志输出做脱敏,避免泄露敏感信息
代码评审该看什么
给出评审的固定检查顺序,避免评审变成挑格式或凭个人偏好争论。
- 先看功能是否正确、边界是否覆盖
- 再看结构是否清晰、有无重复逻辑
- 最后才看命名与格式,前两项不过无需讨论后两项
演练产出
- 流程落地。代码评审正式纳入项目验收前置环节。
- 问题归档。各方向典型问题整理为样例代码,作为新成员培训材料。
- 标准统一。提交信息规范与评审检查顺序在五个方向内保持一致。
相关材料
- DOC ZY 工作室代码评审规范
- ZIP 五个方向样例代码与问题清单
- PDF PR 演练记录与评审意见汇总
代码能跑只是及格线,写出别人愿意接手维护的代码才是真本事。本次演练暴露的问题已全部记录,作为后续改进的依据。
现场照片