As far as I know there are these;
- Camel case = coolFileName
- Snake case = cool_file_name
- Kebab case = cool-file-name
- Pascal case = CoolFileName
- Dot notation = cool.file.name
- Flat case = coolfilename
- Screaming case = COOLFILENAME
Personally I prefer the kebab/dot conventions simply because they allow for easy “navigation” with (ctrl+arrow keys) between each part. What are your preferences when it comes to this? Did I miss any schemes?
It depends a bit on the use case. I try to follow naming conventions within specific environments like Python. When just sorting some documents together, I usually do a mix of Kebab and snake case, where I split semantic parts with underscores and connect words with dashes like
2024-08-30_author_document-name_other-important-info.ext
This is exactly what I do. It lends itself to something like ‘prefix_specific-info_version’ which is both sortable and easy to read.
Yeahh that’s the best IMO ! But I get most of the time stuck with some
testOFtest001
files/directory… cause I’m lazy…But I always ALWAYS regret it afterward… :/
Is something like this defined in a standard somewhere?
I can tell that this guy fucks
Snake case.
- Starts with a lowercase, good for shell autocompletion
- No spaces, so no worrying about spaces in shell commands
- ‘_’ is better than ‘-’ because it shows the spaces between words more clearly
Counterpoint: you have to use Shift a lot
He probably uses vi. A few hundred more shift-key presses won’t stand out.
For this reason, I use kebab case for directories. But because I agree underscores show spaces better, I use snake case for files.
Depends on your keyboard layout
COOLFI~1.AME
10 PRINT “FARTS” 20 GOTO 10
Man I miss basic.
It’s more like QBasic dialect, but it’s still actively maintained. It can generate binaries and everything for modern machines.
I put an unnecessary amount of spaces in all my file names to break anyone who wants to use CLI tools on them
i use windows btw
Using Windows is a true flex on Lemmy
I put newlines in my filenames to break both CLI tools and Windows filesystems
touch "\" \""
What does this do?
Make a file named just a bunch of spaces with double quotes around them. It’s made confusing because of the 4 double quotes, two are escaped by the backslashes immediately before them.
Mental damage
Underscore to delineate different parts, hypen to delineate words.
Like: my-resume_draft.pdf
And to make it consistent and easier to reuse parts for project names and such, I have a command line utility written for it. It caches the parts and uses a template system (support for generating current datetime in parts)
Available here (is in AUR too):
You can go-to_hell.
Thats what I do as well. It makes it easy to seperate between logical units.
SCREAMING_SNAKE_CASE just has the best name
YES, I USE THIS TOO TO STAY CONSISTENT WITH SQL QUERIES
I like Camel Case for code, but mostly because it’s ingrained in my brain, coming from Java as my first language.
For folders and files, I like Kebab Case.
Luckily, I was not ingrained by my first programming language like that, or my coworkers would strangle me.
I started with BASIC, which allowed only two letters for variable names…
I am a fan of Python’s or Rust’s official conventions.
For package names, tho, I don’t get why this-is-used over this_clearly_better_system, as I would expect a double click to select_the_whole_thing, whereas it does-not-happen-here.
While i do agree, snake looks a lot better too. I just wish it was possible to navigate through each parts of the word more easily with ctrl+arrow. That would make it the superiour choice imo.
Does alt+arrow work in your terminal?
yeah
For files, kebab case. For variables, snake case. For servers, megaman villains.
It’s COOLFILE.NAM
THERE IS ONLY 8.3 AND THERE IS ONLY UPPERCASE
FILEID.DIZ
Camel case, but with a twist – if the next word is about to start after a capital letter, I’ll have it lower case.
topSecretFBIfile.txt for example
Interesting, I’d tend to demote the initialism, ie topSecretFbiFiles.tar.gz
That’s probably more commonly accepted. I defer to whatever my team is doing, but for my own files, I wouldn’t want things like UsStudentList or USStudentList which both look wrong to me.
USstudentList looks right to me, and if that’s wrong, I’m okay with being wrong! Haha
I like to use my enterprise number and a UUID (all in lower case, for legibility). Here’s an example:
.1.3.6.1.4.1.33230.0d456e46-67e6-11ef-9c92-7b175b3ab1f1
Now you might say that the UUID is already globally unique or at least pretty unlikely to turn up anywhere else, so why bother prefixing it with more stuff? To that I say: “I need to be absolutely or at least reasonably sure … OK nearly sure”.
Anyway, you maintain a database of these things and then attach documentation and meaning to them. An editor could abstract and hide that away.
I started this post as a joke. Not sure anymore. Why get your knickers in a twist with naming conventions for variables and constants. Programming is already a whopping layer of abstraction from what the logic gates are up to, another one wont hurt!
WIAT, Y R U CALLIN IT SCREAMING CASE THAT SOUNDS FKN DUM TBH
L8R DOODZ
-SP4SEM4N B1FF
ive seen it be called both screaming and train case, not sure what the most used term is though.
It’s a reference to Tha Grate Biffinski:
deleted by creator
For files? An unholy amalgam of snake, kebab and dot, depending on what exactly I’m trying to convey. (I still have much-ported files around with DOS 8.3 filenames, so they’re truncated scream case (SCREAMIN.NAM), but I don’t actively name files like that anymore.) The important thing is to separate the words/sections while using characters that are valid without escapes in both ext4 and vfat if at all possible.
For variable names, camel or Pascal case (depending on language convention) if I think anyone else is going to read it. Flat case for code I don’t think anyone else is ever going to see (don’t do this—it has left teethmarks in my ass from time to time and will do the same to you).
The only correct answer is to be consistent with the code base you’re working in or the language’s conventions. If neither of these conventions exist, then someone has already failed you.
Given OP mentions kebab-case, this is probably about file-systems. But you are absolutely correct about code.