用标准化流程,减少重复事项
我这一周用 Flutter 做了两个非常简单的安卓工具应用,在做的过程中,我发现其中有很多组件都是从之前写的 Flutter 项目中复制来的,如语言设置、主题设置、CI 配置等。
而且这些组件都有一个共同点,它们不止是需要修改代码,往往还涉及到一些其它的配置。比如 GitHub Actions 构建带有签名的 APK 需要设置 Action 的密钥环境变量,比如要添加 l10n 需要改配置、添加一些文件等。
于是我想到写一个模板项目,之后创建 Flutter Android 项目都可以直接从这个项目开始,直接省下了每一次进行相关配置的时间。
不一定非得是模板
模板之外,流程文档也是很好的标准化流程的途径。比如在申请软著的时候,如何生成代码文档,如何编写软件的使用文档等,如果需要多次申请软著,把这些步骤都记录下来的话就能显著减少每次操作所消耗的时间和精力。
代码就是一种高级的标准化流程
最典型的场景就是创建项目的脚本(比如 create-vite)、CI 脚本(如 GitHub Actions)、爬虫程序等。
编程的方式非常适合像手动构建项目并上传构建产物这种很麻烦、繁琐而且需要反复执行的任务,但并不是所有任务都适合编写程序解决。
典型的就比如填写在线表单等需要 GUI 操作的场景,对于人来说 GUI 比较友好,不容易出错;而对程序来说,操作 GUI 则相对繁琐。对于这种任务如果不需要规模化执行的话,通过编程手段解决反而会更低效。
本质上是一种杠杆
用一份的当下的时间,换取多份的将来的时间。也就是说,只要能预见将来需要多次使用标准化流程,创建标准化流程的成本小于将来使用标准化流程省下的资源,那就值得为这件事创建流程。