2

上午審查驅動的命令行命令行Java應用程序中切換駱駝較低的情況下是這樣的:命令行參數是否有任何命名約定?

myapp aSwitch anotherSwitch aThirdSwitch 

正在考慮所有的小寫和領先的連字符可優選:

myapp -aswitch -anotherswitch -athirdswitch 

...或者:

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

但努力想出一個令人信服的理由。希望遵循當前的約定,並且至少對於Windows/Linux是跨平臺兼容的。

感謝您對這三種方法中最常用的約定提出建議 - 以及其中的任何理由。

回答

2

Apache Commons CLI有一個常用約定的說明。這也是一個很好的解析器這樣的用例

0

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

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

如果每個選項都有一個值或參數來傳遞

myapp -o1 aSwitch -o2 anotherSwitch -o3 aThirdSwitch 
+0

感謝 - 實際上這個特定的應用程序的參數沒有價值 - 他們只是改變它的性質。 (我猜他們是類似於'LS -l'或類似。) –

+0

那好吧,如果你在一個CLI應用程序的工作,我只是列舉了這樣 MYAPP -aSwitch -anotherSwitch -aThirdSwitch 並給出錯誤的輸入,請使用它支持的選項或類似的東西打印格式幫助 – Nagarz