Nikdy nepouzivaj third party kniznice na taketo trivialne KOKOTINY. To snad uz medzi nami nie su ziadni programatori, iba lepici? Vsak kazda kniznica ti len nabobtna aplikaciu a zvysuje riziko zanesenia chyby.
var connectionString = ConfigurationManager.ConnectionStrings[new HashSet(args).Contains("-p") ? "connstr2" : "connstr1"].ConnectionString;
Dobra komedie to tu cist.
Tvuj exampl je prvni normalni a pro jednoucelovou utilitku OK.
Pro program, ktery ma byt dlohodobe udrzovany ale rozhodne nejakou java getopt() variantu.
Do pom.xml pridat dependenci na JCommander a do main class par atributu s @Parameter anotaci.
Tady je exampl z
http://jcommander.org/class Main {
@Parameter(names={"--length", "-l"})
int length;
@Parameter(names={"--pattern", "-p"})
int pattern;
public static void main(String ... argv) {
Main main = new Main();
JCommander.newBuilder()
.addObject(main)
.build()
.parse(argv);
main.run();
}
public void run() {
System.out.printf("%d %d", length, pattern);
}
}
Tohle je reseni nas zoufalych lepicu, nadherne citelny kod rizeny pouze anotacemi.
Este ze na rootu je tolik expertu, clovek zasne a skvele se bavi.