When writing a multi-input and/or multi-output process. Use this style:
process --foo=foo --bar=bar --output-foo=output_foo --output-bar=output_bar
To represent STDIN or STDOUT you can optionally use -
.
Named parameters are always better than position parameters for multi-input and/or multi-output because the interaction between processes exist at the process boundary. Which means you don't get the benefit of type checkers or single programming language. The interface is more flexible when using named parameters.