脚本的宿命:为什么最好的代码就是用来被删掉的
用完就跑:这才是开发者该有的觉悟
大家低头看看自己的 ~/scripts 文件夹,里面躺着多少「半成品」?
那些写了一半的迁移脚本、只用过一次的部署配置、「能用就行」的临时工具…… 大部分人管这叫失败的项目,或者叫「迟早要重构的垃圾代码」。
但你有没有想过——也许它们本来就该这样?
什么是「用完就跑」的开发思路
这个词我暂且叫它 Bailout 哲学,核心就一句话:
有些代码,天生就不是来「长相厮守」的。
它的逻辑很简单:写一个工具,只干一件事,干完就删。不维护、不迭代、不考虑以后会怎么扩展。
把它想象成你桌上的「应急破窗锤」——平时积灰,急用时能救命,用完继续积灰。不需要长得好看,不需要考虑人体工学,能砸开就行。
关键原则就三条:
- 只解决当下的问题 —— 环境崩了、项目起不来、迁移卡住了,现成的工具直接上
- 用完就删 —— 不归档、不维护、不留技术债
- 快比好重要 —— 60 分能用就行,危机时刻完美主义是最大的敌人
为什么这个思路越来越香
新环境配置的苦,谁搭谁知道
每次入职新公司、接手新项目,光是配环境就能耗掉半天。Node 版本、Python 路径、数据库连接、环境变量…… 就算有 Docker 和自动化配置脚本,心里还是会有点虚。
这时候你就会想——如果有个脚本,点一下,30 秒后环境全搞定,然后这脚本「啪」一下消失了,是不是很爽?
这就是 Bailout 思维在干活。
知道要删,反而写得更好
最反直觉的一点来了:知道这代码以后要删,你会写得更专注。
不会想着「万一以后要扩展怎么办」,不会纠结「这个函数命名要不要再斟酌一下」,更不会为了「代码优雅」而加一堆抽象层。
你只有一个念头:赶紧把问题解决,然后下班。
这种心态下产出的代码,反而干净利落。没有过度设计,没有画蛇添足,就是单纯地把活干完。
跟现代 DevOps 完美契合
Bailout 哲学本质上是「不可变基础设施」思路的延伸。
传统做法是维护一套复杂的初始化脚本,日积月累各种配置漂移,到最后谁都不敢动。
Bailout 做法是:脚本是临时的,产出物是固定的。跑一遍,生成一个标准化的环境,下次重建的时候重新跑一遍就行。脚本本身不维护,只维护「跑出来的结果」。
你的 Bailout 工具箱里该有什么
1. 环境一键启动脚本
从零装系统、配依赖、拉配置,一键搞定,下次换电脑接着用
2. 服务快速启动器
前端、后端、数据库,一行命令全部跑起来,开发阶段快速迭代专用
3. 数据迁移脚本
导数据、格式转换、数据库清理……跑一次,验一遍,没问题直接删
4. 紧急修复包
端口占用、权限问题、依赖缺失,自动检测 + 自动修复,写完备用
AI 时代,这个思路更值钱了
以前写个临时脚本好歹还要自己敲代码,现在有了 Copilot、Claude,随便一句话就能生成一个能用的工具。
门槛低了,思路就值钱了。
你完全可以:
- 让 AI 花 10 秒生成一个迁移脚本
- 用一次验证结果
- 删掉,毫不心疼
这跟那种「花三个月搭框架、维护两年」的开发思路完全相反。它是轻量的、一次性的、对自己的定位非常诚实的。
怎么开始
别想太多,从一个小任务开始。
你每周要重复做的事是什么?写一个最快的脚本把它搞定,用三周,然后删掉。
你大概率会发现:原来我最常用的代码,根本不需要「永久保存」。
有些工具的意义就在于「用完即焚」,这不是浪费,恰恰是对自己时间的尊重。
你有什么「用完就删」的脚本故事?评论区见——但别指望我们帮你维护 😂