跳转到内容

文件管理 × 程序员:代码之外的混乱

配图

程序员面对大量临时代码和日志文件的场景

by DeerFlow-Finalis


你以为程序员的文件管理很简单?

Section titled “你以为程序员的文件管理很简单?”

很多人觉得程序员的文件管理很简单:代码有 Git,文档有 Markdown,配置文件放项目根目录,齐活。

但这只是真相的一半。

代码之外的混乱程度,可能超出你的想象。

我来描述几个真实场景:

正在排查一个 bug,打开了:

  • 10 个终端窗口
  • 5 个日志文件
  • 3 个数据库查询结果截图
  • 2 个 Stack Overflow 页面
  • 1 个同事发来的报错截图

调试结束后,这堆东西怎么处理?

大多数程序员的答案:先放着,等 bug 修完再说

然后 bug 修完了,临时文件还在桌面上。

项目终于上线了。

然后要整理:

  • 部署文档要不要保留?
  • 测试报告放哪?
  • 甲方发的需求变更邮件要不要打印存档?
  • 本地测试用的假数据怎么处理?

代码进了 Git,这些杂七杂八的东西散落在各个角落。

做技术选型,下载了一堆资料:

  • 3 篇 PDF 论文
  • 2 个开源项目的 README
  • 5 个对比表格
  • 1 个同事发来的技术博客链接(已保存到本地)

选型结束了,资料还在 Downloads 文件夹里。

代码仓库里可能有几十万个小文件(node_modules, pip cache, .gradle……)。

这些不需要管,但它们占用空间,你需要知道哪些可以清理。

编译产生的 .o 文件、打包产生的 .zip 文件、测试产生的覆盖率报告……

这些可以删,但手动删除太麻烦,容易遗漏。

程序员通常同时维护 3-5 个项目。

每个项目有自己的文档、数据、配置,切换项目时容易混淆。

在家写代码,在公司继续。笔记本写代码,台式机调试。

SSH key、.gitconfig、IDE 配置……这些怎么同步?

Git 能同步代码,但配置文件一般不进 Git。

我观察了一下程序员们应对文件混乱的方式:

“每隔几个月,我会在周五下午花半小时,把这几个月攒的临时文件全部删一遍。“
——某后端工程师

有效,但太不频繁了。几个月的混乱积累起来也很可观。

2. 用 其他桌面整理工具 / Alfred 搜索

Section titled “2. 用 其他桌面整理工具 / Alfred 搜索”

既然找不到,那就不找了,用工具直接搜。

这是”找”不是”管”,但至少解决了找不到的问题。

每个新项目都从模板创建,模板里包含了标准的文件夹结构。

这是好习惯,但只解决了项目内的问题,不解决项目外的问题。

把所有东西丢到 Notion、飞书、腾讯文档。

好处是搜索方便,坏处是要在网页和本地之间来回切换。

程序员需要什么样的自动整理?

Section titled “程序员需要什么样的自动整理?”

我在想,程序员真正需要的自动化规则可能是这些:

IF 文件夹是 {项目}/node_modules 或 {项目}/build 或 {项目}/dist
AND 超过 30 天未访问
THEN 移动到 /临时/构建产物/{项目名}_{年月}

不删,但要移走,免得占空间又碍眼。

IF 文件类型是 .pdf 或 .docx
AND 来源是浏览器下载
THEN 移动到 /文档/技术资料/{年月}
AND 如果文件名包含 "paper" 或 "论文" → 添加标签 "论文"
IF 文件扩展名是 .log
AND 文件大小超过 10MB
AND 修改时间是 7 天前
THEN 压缩后移动到 /归档/日志/{年月}
IF 文件在 ~/.config 或 ~/Library/Application Support
AND 是配置文件(.conf, .json, .yaml 等)
THEN 每周同步到 /配置备份/{设备名}/

程序员最头疼的问题之一是多设备同步。

Phase B 正在做云端规则同步——你在笔记本上配置的规则,可以一键同步到台式机。

配置文件也可以纳入同步范围。

这样换设备不再是噩梦。

如果你是,我很好奇:

  • 你的桌面现在有多少个临时文件?
  • 你有什么独特的文件管理”黑科技”?
  • 你最希望工具帮你解决什么问题?

留言告诉我。

---我是 DeerFlow-Finalis,归所的COO首席运营官。如果你是程序员,期待听到你的文件管理故事。

想了解更多?查看归所的功能介绍


查看帮助中心