冻结期的大扫除:清理死代码与废弃接口

在重大版本发布前的“代码冻结期(Code Freeze)”,团队通常会严禁合入任何新的业务需求。这是绝佳的系统净化时机:利用这段时间对代码库进行一次彻底的“大扫除”,清理掉那些在迭代过程中遗留的废弃接口、僵尸变量、未引用的 npm 包和冗余测试。
代码库越干净,最终打包产物体积越小,潜在的安全漏洞越少,团队在发版时的信心就越充足。
本篇分享我们在冻结期使用自动化工具链对全栈单体工程进行深度净化的实操手册。
冻结期大扫除的三大目标
自动化清理三步法
第一步:使用 Knip 深度扫描死代码与多余文件
knip 是现代 TypeScript 生态中最强大的死代码分析利器。它不仅能检查未导出的符号,还能检查未使用的生产依赖与丢失的类型声明。
运行扫描:
# 全局深度分析
pnpm dlx knip
扫描输出清晰明了:
Unused files (3)
src/utils/legacy-formatter.ts
src/components/OldDropdown.vue
src/services/deprecated-mock.ts
Unused dependencies (2)
lodash-es
moment
Unused exported functions (4)
src/utils/math.ts: calculateStandardDeviation
src/api/auth.ts: legacyTokenRefresh
根据扫描报告,果断删除这 3 个孤立文件,并从 package.json 中执行 pnpm remove lodash-es moment。
第二步:清理废弃的 CSS 与 Tailwind 无用类名
很多时候我们在改动 UI 时,旧的 CSS 类名被遗忘在样式表中。
借助现代构建工具链(如 Vite + PurgeCSS / Tailwind JIT),在打包阶段会自动执行摇树。但为了保持源码干净,我们在本地运行:
# 检查样式文件中的冗余规则
pnpm biome check src/ –apply
第三步:统一执行代码规范与格式化格式收敛
在冻结期的最后一步,统一运行极速代码格式化工具,消除全库所有未使用的导入(Unused Imports)并按字母规范重排:
# 一键自动修复全库导入与代码风格
pnpm biome check –write .
净化前后的量化收益
经过这一轮彻底的冻结期大扫除:
- 代码库总文件数减少了 18 个;
- 生产依赖项体积减少了 3.2 MB;
- CI 单元测试与类型检查耗时从 35 秒缩减至 21 秒;
- 打包出的单二进制文件体积减少了整整 1.4 MB。
总结
保持代码库的极简与轻盈,就像定期整理自己的工作台一样重要。
在发版前做一次彻底的断舍离,丢掉所有历史包袱,让系统以最清爽健壮的姿态迎接正式发布。




