Use --long-options if available. These are typically clearer to readers than short ones. They do make the command line longer than corresponding short ones, but in practice this is very rarely, if ever, a problem.
Use equals sign rather than space between a long option and its argument, if available,
like --long-option=argument rather than --long-option argument.
This is also for clarity as it's immediately clear that the argument is for the option
rather than a positional argument for the command,
and doing so tends to support pathological option argument cases starting with dashes better.
It also renders better (subjective?) in many cases involving linefeeds, such as in various config file format
and programming language arrays.