我正在开发一种工具,可以执行多种类型的分析,并且每种分析可以具有不同程度的彻底性。该应用程序在启动之前将提供相当多的选项。我开始使用配置文件来实现这一点,因为指定的分析类型数量很少。随着实现的选项数量的增加,我创建了更多的配置文件。然后,我开始混合一些命令行参数,因为某些选项只能是标志。现在,我将一堆命令行参数与配置文件混合在一起,感觉我需要重构。
我的问题是,何时以及为何使用命令行参数而不是配置文件,反之亦然?
可能与你使用的语言、个人喜好等有关?
编辑:我正在开发一个可以在 Windows 和 Mac 上运行的 java 应用程序。我暂时没有 GUI。
命令行参数对于快速覆盖配置文件中的某些参数设置非常有用。同样,如果参数不多,命令行参数也很有用。对于您的情况,我建议您将参数预设导出到命令行。
优点:
缺点:
优点:
缺点:
在我的用例中,我更看重能够在 bash 脚本中进行变量替换/引用(以及 bash 数学),因为我使用相同的二进制文件在服务器后端启动许多具有不同职责的服务器节点我使用 bash 脚本作为一种容器,或者实际上是一个配置文件,以使用不同的命令行参数启动许多不同的节点。
我的投票= ala mysqld.exe
什么环境/平台?在 Windows 中,您宁愿使用配置文件,甚至是 GUI 中的配置面板/窗口。
我将不会真正改变的配置放在配置文件中。 我将经常更改的配置放在命令行上。
使用经验法则,如果您有更多事情在程序执行过程中发生很大变化(例如一个名为
is_output
的变量,它为每次分析生成报告,然后每次都需要更新),那么这是一个很好的候选者对于偶数用户输入的参数,请使用参数。
提醒一下,在使用用户输入时,请确保对其进行验证,以免它们成为某种攻击的入口点。你永远不知道!
其余的最好存储在配置文件中,无论最适合您什么,如果您希望它可重用,请提出变量替换的语法,例如
{{ var }}
甚至 $$ var $$
或我个人用的那个@@ var @@
.