人人都会AI编程

3.3 一键代码处理工具集

更新时间:2026-06-30

实际开发里,真正拖慢进度的往往不是写代码,而是整理代码:格式化不一致、批量替换怕改错、提交前反复检查。与其每次手敲长命令,不如用几个轻量工具把高频操作封装成“一键”指令。

1. 统一命令入口:Just(或 Makefile)

团队里最浪费时间的场景之一是每个人用的命令不一样。推荐用 Just(Rust 写的命令运行器,比 Makefile 语法更友好)作为统一入口,把日常操作固化:

# Justfile
fmt:
    prettier --write .
    black .
    gofmt -w .

lint:
    eslint .
    ruff check .
    golangci-lint run

fix:
    ruff check . --fix
    eslint . --fix

clean:
    find . -type d -name "__pycache__" -exec rm -rf {} +
    find . -type f -name "*.log" -delete

开发者只需要记住四个单词:just fmtjust lintjust fixjust clean

2. 格式化与自动修复:交给专业工具

别在团队里争论代码风格,直接上工具:

  • 多语言:Prettier(JS/CSS/Markdown/JSON)、shfmt(Shell)
  • Python:Black(格式化)+ Ruff(超快的 linter 和 import 排序)
  • Go:gofmt / goimports
  • Rust:rustfmt + clippy

把这些全部串进 just fmt,保存即统一。

3. 安全地批量重构:sd + ast-grep

传统的 sed -i 做批量替换很容易误伤字符串里的内容。推荐两个更安全的工具:

  • sd:语法更直观的替换工具,例如 sd 'foo\(bar\)' 'baz($1)' 比 sed 好写十倍。
  • ast-grep:基于 AST(抽象语法树)的搜索替换,能精准定位“函数调用”而不是纯文本。比如把旧 API 批量迁移到新 API,不会出现把注释里的单词也改掉的情况。

4. 提交前拦截:pre-commit

最省心的“一键处理”是自动在提交前跑完检查。安装 pre-commit 后,在项目根目录放一个 .pre-commit-config.yaml,配置好 Black、Prettier、ESLint 等钩子。团队成员只需执行一次:

pre-commit install

之后每次 git commit 都会自动格式化并拦截错误,push 到 CI 前代码已经是干净的。

5. 快速盘点:tokei + tree

需要写汇报或评估工作量时,用 tokei(比 cloc 更快)一键统计代码行数:

tokei .

配合 tree -L 2 -I 'node_modules|pycache' 生成干净的目录结构,直接贴进文档。

6. 实战:一条命令拯救遗留项目

面对一个格式混乱、警告满天飞的老项目,可以新建一个 rebuild 命令一次性处理:

#!/bin/bash
# rebuild.sh
set -e

echo "==> 格式化代码..."
just fmt

echo "==> 自动修复 lint..."
just fix

echo "==> 检查剩余问题..."
just lint

echo "==> 统计代码..."
tokei .

跑完这一遍,代码库至少达到“干净、可读、不报警”的基线。后续靠 pre-commit 维持即可。