自己写的东西,能跑就行
翻了下自己这些年攒的小程序,一个共同点是:都很丑。没有配置文件, 路径全写死,报错就是一行红字,换台电脑多半跑不起来。
早些年我为这个纠结过,总想着写"正经"一点——加个配置项、抽个基类、 把日志分个级。折腾几轮之后发现,那些工程化的东西每加一层, 我下次改它的心理门槛就高一分。最后往往是工具还在,但我不敢动了。
个人工具和产品不是一回事
产品要面对不认识的用户、未知的环境、以后会接手的人。个人工具只面对我一个人, 而我知道它所有的脾气:知道哪个路径写死了、知道哪种输入会让它炸、 知道炸了之后该改哪一行。
所以那些"为了别人"才需要的东西,在这里全是负担。配置文件是负担, 因为我只有一套配置;抽象层是负担,因为只有一个实现; 完善的错误提示是负担,因为看到堆栈我就知道怎么回事了。
那什么是值得加的
也不是全都不加。这几年下来,只有两样我每次都留:
- 足够的日志。不是分级不是结构化,就是在每个关键步骤前后打一行。 隔半年再看这个工具,日志是唯一能让我快速想起它怎么跑的东西。
- 一段说明为什么这么写的注释。不写做了什么——代码本身就是。 写的是"为什么不用那个更显然的做法",那种信息代码里读不出来。
其余的一律省掉。丑就丑吧,反正只有我看。