今天要说的是程序卸载。每个小程序都应当拥有一个完整的生命周期,以前开发的时候,更多的聚焦于如何生产程序,而忽略了卸载程序。
写好的工具程序,在部署进入使用环境时,环境时默认纯净的,工具程序在使用的过程中会修改系统配置、复制依赖文件、生成日志文件、在数据库中初始化表数据、写入最终数据到数据库表,这一系列更新操作,应当区分哪些操作是环境配置?哪些操作是数据?
环境配置的修改更新,应当支持在工具程序结束使命(卸载)时,将环境配置还原;工具程序投入使用时产生的业务数据,应当同时支持保留和清理——具体是保留还是清理,应当由工具程序的使用者决定。
程序卸载也是很重要的,只有支持了卸载,才好支持重新安装(可以设想一下,第一个场景:假设程序第一次安装时,创建了一个临时的用户,在程序卸载时,没有删除,等到第二次安装时,安装程序在创建临时用户时,有没可能进行不下去;第二个场景:程序在使用的过程中会在线下载几个g大小的bin文件到某个用户不知道的目录下,在程序卸载时,没有删除,那么程序下载的这个文件就会一直占用用户的存储空间。)