Very good points. A codebase that gets this VERY wrong is Gitlab. I think it might be a dumb characteristic of Ruby programs, but they generate identifiers all over the place. I once had to literally give up following some code because I could not find what it was calling anywhere. Insanity.
Another point: don’t use -
in names. Eventually you’ll have to write them down in a programming language, at which point you have to change the name. CSS made this mistake. foo-bar
in CSS maps to fooBar
in Javascript. Rust also made this mistake with crate names. A crate called foo-bar
magically becomes foo_bar
in Rust code.
The dash -
vs underscore _
is also a common “problem” with CLI arguments --file-name
, that are mapped to variable names file_name
.