Question

Should the name of command line options for a program in a POSIX-style operating system be underscore-style, like

--cure_world_hunger

or maybe some other style?

--cureworldhunger
--cure-world-hunger
--cureWorldHunger

What's most common? What's better style? What's more Bash-friendly (if such a thing exist)?

Was it helpful?

Solution

Underscore is not a good idea, sometimes it gets "eaten" by a terminal border and thus look like a space.

The easiest to read, and most standard way is to use a dash:

--cure-world-hunger

OTHER TIPS

Always hyphens! Let's get a reputed reference: the Gnu style guide:

GNU adds long options to these conventions. Long options consist of ‘--’ followed by a name made of alphanumeric characters and dashes. Option names are typically one to three words long, with hyphens to separate words. Users can abbreviate the option names as long as the abbreviations are unique.

If you have underscores and the documentation is linked in a document, the underscore will be "eaten" by the underline.

The double dash prefix is a GNU convention I believe. Check out getopt_long(3) man page on the GNU/Linux Operating System.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top