命令行 Or 配置文件
在编写一个脚本或者程序的时候,一般会使用命令行或者配置文件来控制程序的执行以适应复杂多变的应用环境。命令行和配置文件都是通过在程序开始执行前,给程序一些参数来将程序初始化为不同的状态,或处理不同的数据。
而在将这段程序集成到一个更大的系统中的时候,会面临这到底是通过参数调用,还是通过修改配置文件再调用的问题。
本来我不觉得这是个问题,总是顺利成章地采用命令行参数和配置文件的情况。直到有同事对这个问题提出了异议。花了很大的精力和时间才说服他。所以,今天在这里总结以下在何种环境下应该采用命令行参数,在何种情况下应该采用配置文件。
应该使用命令行参数的情况:
- 只会执行几次的脚本程序。例如,临时编写的删除一些文件,或者批量修改一些文件名的小脚本。
- 执行很快的程序。就是很快就会返回的程序。不会有需要等待较长时间。
- 参数个数较少。一般可能1个或者2个参数,或者自己可以接受的参数个数。
- 运行参数没有明确的持久化存储需求的。就是说参数运行过一次之后以后可能就不会再使用了。仅仅是为了本次运行需要
应该使用配置文件的情况:
- 作为系统一项主要功能,会多次使用的。
- 执行需要一段时间的。程序启动后,运行需要一段时间,可能等待执行结果,也可能不等待执行结果。这种程序可能会有很多的输出。运行完毕之后,如果不是自己想要的运行结果,而想重新运行一次的话。可能已经找不到之前的运行参数了。
- 参数个数较多。个人觉得超过5个参数的脚本,或者参数较长的情况都需要使用配置文件。因为命令行每次输入那么多,总是很容易出错的。
- 配制信息或者参数是由其他程序提供或者编辑的。就是说,需要和其他程序配合使用的。比如,UI配置参数,后台程序执行。配置参数都需要固化。因为UI再配置参数的时候,都是需要显示以前配置的参数是什么。就是参数需要持久化存储。
说了这么多,其实很大程度上还是和个人爱好以及习惯有关系。这在一个人写代码的时候就无所谓了。但是作为一个团队,你不可能口述给别人你的程序都有多少个参数,每个参数都是什么意思,都有什么限制。也不要去打印一个很长的help,让别人去看。因为,与其这样,何不写一个带注释的配置文件呢?反而更容易被人接受。
联系我:
Email: xudongsecret@qq.com
===完===