bindbox-game/.trae/documents/全面代码清理与优化计划.md
邹方成 45815bfb7d chore: 清理无用文件与优化代码结构
refactor(utils): 修复密码哈希比较逻辑错误
feat(user): 新增按状态筛选优惠券接口
docs: 添加虚拟发货与任务中心相关文档
fix(wechat): 修正Code2Session上下文传递问题
test: 补充订单折扣与积分转换测试用例
build: 更新配置文件与构建脚本
style: 清理多余的空行与注释
2025-12-18 17:35:55 +08:00

128 lines
4.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 目标
* 全面清理未用代码、注释废弃块、空文件与无用测试
* 识别并重构重复代码重复率≥80%
* 保持现有功能稳定,构建与测试全部通过
* 输出对比报告与文档更新
## 范围
* 后端:`internal/**``cmd/**``migrations/**`
* 前端管理:`web/admin/**`Vue/TS/样式与公共组件)
* 通用资源:`docs/**`、脚手架与配置(不更改生产配置)
## 清理策略与工具
* 未用与死代码检测
* Go`golangci-lint`unused、deadcode、revive`go vet`
* TS/Vue`tsc --noEmit`(类型与未用导出)、`eslint`no-unused-vars/no-dead-code
* 注释废弃块识别
* 规则Grep 检索注释中出现代码结构(`func|class|export|<template>`),人工确认后删除
* 空文件/无用测试
* Glob + Read 识别空/仅注释文件;移除未被引用的测试(无匹配运行入口或全跳过)
* 重复代码检测
* 跨语言:`jscpd`Vue/TS/Go`dupl`Go
* 阈值:重复度 ≥ 80% 且行数 ≥ 20 行
* 重构原则
* 后端:抽取到 `internal/pkg/common` 或现有包的工具单元;避免交叉包循环依赖
* 前端:抽取到 `web/admin/src/components/common``utils`,保持现有风格与命名
## 执行步骤
1. 基线采集
* 读取项目结构与关键模块,记录当前构建状态(不修改)
* 运行只读分析:语义搜索/正则/Grep收集疑似未用项、注释废弃块、空文件、重复片段清单
1. 未用代码清理
* 逐文件比对引用关系Grep/语义搜索),将“未被任何入口引用”标记为候选
* 生成候选清单(含文件路径与符号名),按模块批次删除;每次删除后执行增量构建验证
1. 注释废弃块删除
* 扫描 `//``/* */``<!-- -->` 中含可编译结构的片段,人工确认后删除
* 对 SFC 中注释的 `<template>/<script>/<style>` 片段严谨处理,避免结构破坏
1. 空文件与无用测试
* 移除 0 字节/仅注释文件;对测试:无法被测试运行器加载、或所有用例被跳过的文件移除
1. 重复代码重构
* 跑相似度分析,生成报告(位置、重复度、建议合并点)
* 抽取公共方法/组件,替换调用方;保持 API 不变,变更点最小化
1. 依赖与引用更新
* 后端:修复 import前端修复路径别名与组件引用保证编译通过
1. 验证与回归
* 构建验证:`go build``tsc --noEmit`、前端 `npm run build`(或等价)
* 单/集成测试:运行现有测试;若缺失,补最小冒烟测试(关键模块)
* 功能回归:登录、活动管理、一番赏映射、承诺生成/摘要、开奖与订单查询
## 安全保障
* 分批次清理,每批次后执行构建与核心用例回归
* 只删除“未引用/重复/注释废弃/空”的候选核心路径API、路由、策略、DAO、视图谨慎处理
* 所有变更均记录到临时报告与文档
## 交付物
* 代码对比报告:删除/变更列表(文件路径、符号名、原因)
* 重复代码检测报告:重复片段与重构前后引用图
* 验收文档:构建输出、测试结果、回归清单
* 文档更新:在 `docs/代码清理` 目录建立说明与进度记录
## 本次已执行清理项2025-12-08
- 移除抽奖策略注册表冗余(保留接口类型),不影响默认策略与一番赏流程
- 删除 Guild 相关 DAO/Model 生成文件(项目内无引用,运行不受影响)
- 移除管理端 batch_users 接口与路由挂载(前端无调用)
- 移除管理端 IssueUserToken 路由挂载(前端无调用;代码文件暂保留为未引用状态)
- 构建验证:`go build ./...` 通过;`go test ./...` 存在历史用例失败(外部依赖与软删列缺失),与本次变更无关
## 文档与规范对齐
* 创建:`docs/代码清理/ALIGNMENT_代码清理.md`(范围/边界/不确定点)
* 共识:`docs/代码清理/CONSENSUS_代码清理.md`(验收标准与方案)
* 设计与任务拆分:`docs/代码清理/DESIGN_代码清理.md``TASK_代码清理.md`
* 执行与评估:`docs/代码清理/ACCEPTANCE_代码清理.md``FINAL_代码清理.md``TODO_代码清理.md`
## 后续执行说明
* 获批后:按上述步骤使用只读扫描确定候选清单→分批次提交清理补丁→每批次构建与回归验证→汇总报告与文档更新。