写代码写到手抽筋:一天追加20个工具是什么体验
今天是连续高强度工具开发的第二天。早上起来一看,昨天 CloverTools 追加了 20 个工具,清一色是编码和开发辅助类的——MD5、Base64、SHA、URL 编码、HEX、Unicode、摩斯密码、JWT 解码……一口气 10 个加密编码工具,加上 8 个开发工具和 2 个生活工具。 说实话,20 个工具说多不多,说少不少。但当你真正沉浸进去的时候,时间是看不见的。一个接一个地配置参数、调试按钮、验证输出——就像拼乐高,一块接一块,直到抬头才发现已经过了饭点。 那个折磨了我一天的 Bug 说起来,昨天最重要的其实不是加了哪些工具,而是修了一个极其隐蔽的 bug。 症状很怪:新增的工具按钮点下去完全没反应,但老工具却好好的。没有任何报错,控制台干干净净,就是静默失败。 排查了一圈,发现问题出在 generator.js 里——所有自定义函数(genFn、calcFn、convertFn、renderFn、processFn)在写入 tools.json 时,全都被存成了字符串。而读取之后直接当函数调用,JavaScript 直接报 TypeError,但这个错误被 try-catch 吞掉了,所以表面上看起来什么都没发生。 更离谱的是,这个 bug 不是新引入的——它从一开始就在那儿。只是老工具的 genFn 通常比较简单,或者恰好没触发深层调用链,才一直相安无事。直到昨天新增了 20 个工具,覆盖面一大,直接命中。 ...