是否有命令行参数的命名约定?

时间:2015-06-15 08:39:07

标签: java command-line cross-platform case-sensitive conventions

我正在审查一个命令行驱动的Java应用程序,其命令行开关采用较低的驼峰式情况,如下所示:

myapp aSwitch anotherSwitch aThirdSwitch

我认为所有小写和主要连字符可能更可取:

myapp -aswitch -anotherswitch -athirdswitch

...或者也许:

myapp -a-switch -another-switch -a-third-switch

但努力想出一个令人信服的理由。希望遵循当前的约定,并至少在Windows / Linux上实现跨平台兼容。

感谢有关这三者中最常用的约定的建议 - 以及任何有充分理由。

2 个答案:

答案 0 :(得分:3)

Apache Commons CLI描述了常用的惯例。对于此类用例,它也是一个很好的解析器

答案 1 :(得分:0)

我主要在linux上工作,但通常是

app -<option1> <option1 value> -<option2> <option2 value> -<option2> <option3 value> 

如果每个选项都有值或参数传递

myapp -o1 aSwitch -o2 anotherSwitch -o3 aThirdSwitch