我的工作流(2026 版)

2026-11-05319 字GitWindowsPowerShellMarkdown

用了几年,慢慢收敛到这套。核心原则:能一条命令解决的,绝不三步。


编辑器

Neovim,配 Lua。

为什么不是 VS Code:
- 启动 80ms vs 8s
- 远程 SSH 不用同步文件
- 键盘操作,手不离主键区

配置思路:不装插件套壳,只装解决具体问题的。

必备的也就五个:

插件解决什么
telescope.nvim模糊找文件/内容
nvim-lspconfig语言服务器
gitsigns.nvim行内看 diff
treesitter语法高亮
oil.nvim像编辑文本一样改文件系统

终端

Windows Terminal + PowerShell 7(工作机在 Windows) Alacritty + zsh(服务器)

常用别名:

function ll { Get-ChildItem -Force | Format-Table Mode, LastWriteTime, Length, Name }
function gs { git status -sb }
function gd { git diff --stat }
function .. { Set-Location .. }

版本控制

Git,就三条规矩:

  1. commit 小:一次只改一件事
  2. message 说清为什么,不是改了什么(diff 里有)
  3. 分支不超过 3 天,超过就拆
# 我的常用流程
git switch -c feat/xxx
# ... 改代码 ...
git add -p              # 逐块确认,避免误提交
git commit -m "feat: 说明为什么这么改"
git push -u origin HEAD

git add -p 是最被低估的命令。逐块 review 自己的改动,能抓到不少手误。


部署

能自动就别手动。

推送 → CI 跑测试 → 构建 → 部署 → 冒烟测试

小项目用 GitHub Actions 就够:

name: deploy
on: { push: { branches: [main] } }
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: npm ci && npm run build
      - uses: cloudflare/wrangler-action@v3
        with:
          apiToken: ${{ secrets.CF_TOKEN }}

笔记

纯 Markdown 文件,存本地,Git 管版本。

notes/
├─ daily/        每日随手记
├─ howto/        操作手册
├─ reading/      读书/文章笔记
└─ drafts/       没写完的

一条铁律:笔记的源头必须是纯文本文件,不能只存在某个网站里。

原因很简单——网站会倒,SaaS 会涨价,只有 .md 文件二十年都还能打开。


时间管理

不用番茄钟,用时间块:

09:00 - 11:00   深度工作(不看消息)
11:00 - 11:30   处理消息/邮件
11:30 - 12:00   开会
14:00 - 17:00   深度工作
17:00 - 17:30   收尾、写明天的 TODO

核心是保护上午那两小时。 那两小时产出占一天的 70%。


调试

先复现,再定位,最后修。

1. 能稳定复现吗?不能就先造复现条件
2. 缩小范围:二分法,注释掉一半代码看还犯不犯
3. 打印/断点,看真实值不是猜的值
4. 修完写测试,防止回归

最忌讳:没复现就开始改代码。 改完不知道好没好,还引入了新问题。


学新东西

1. 先跑通官方 Quick Start(30 分钟)
2. 做一个最小可用项目(2 小时)
3. 遇到问题时查文档,不查博客
4. 写一篇笔记,用自己的话讲一遍

第 4 步最关键。 写不出来说明没懂。


反模式清单

这些我踩过,现在尽量避开:

反模式为什么错
一次性看完所有文档再动手记不住,且没有上下文
用最新最酷的技术做生产坑没被踩完,你就是踩坑的人
为了"以后可能用到"提前抽象YAGNI,抽象成本比重复高
在会议上决定技术方案没写代码就想清楚架构,几乎不可能
不写测试就重构等于闭眼改电路
用 GUI 做版本控制学不会 rebase,遇到冲突就抓瞎

一条总结

工具是为了减少摩擦,不是为了让你显得专业。

如果你的工作流需要 10 分钟准备才能开始写代码, 那这套工作流就是错的。

我现在从坐下到能写代码:3 秒(终端一直在开,nvim . 就完事)。