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 tofooBar
in Javascript. Rust also made this mistake with crate names. A crate calledfoo-bar
magically becomesfoo_bar
in Rust code.Greppability also contributed to this thingy
int main() { // dam }
in Mozilla C-style and GNU C-style projects. Of course, it’s a remnant of the past (
grep ^main
), but kgmgaehgka.For code bases where this is a thing, you could use greps context lines:
grep ---before-context 1 "^main"
grep -B should be more concise
No, no, one of the main benefits of OOP is information hiding. If your code is too greppable, developers can circumvent the information hiding.
(Sarcasm)