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?
I’ve got one more to add to your list, and I hate it, but it’s worth mentioning: https://en.m.wikipedia.org/wiki/Hungarian_notation
It’s when the data type is in the name of the variable.
Oh, that was always the standard for Game Maker to differentiate between sprites and objects, which typically had similar names. It’s a difficult thing to unlearn!
Related: a list and explanation of variable naming conventions https://www.pluralsight.com/blog/software-development/programming-naming-conventions-explained
A mix of snake and camel case. Sometimes I mix it in the same project and I hate myself for it
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
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 use flat case most of the time, but I also try to stick to single word files so there is no case to get in the way.
I think for documents I might share like a PDF I’d use Pascal case.
In a classroom or teaching setting I will sometimes use Kebab case as I find it is the least confusing and makes it extra clear where the word division is. Similarly I avoid Dot notation since it’s confusing for folks coming from a Windows world.
And I would avoid Screaming because that’s just too loud anywhere.
Isnt CAPSLOCK case for screaming? 😁
YEAH CRUISE CONTROL BABY
I don’t like it but I am used to reading old C codebase (windows: https://learn.microsoft.com/en-us/windows/win32/stg/coding-style-conventions) with Hungarian notation.
pszMyString 😥
That’s called camelCase, right? starting off small and then use Upper. Hungarian notation is a form of camelCase, just with the type added in front I think. But that’s for coding standards, not filenames. One can think of Hungarian notation as to what file extensions is to files, just added in front. Imagine files named as “txt.MyFile”, just for illustration.
Ah yes I dont know what I thought OP was asking about coding standards 😂
FileName_IMPORTANTCATEGORIZATION.yyyy.ext
With all bits being optional (not every file needs the date it refers to)
So eg (slight modifications for anonymity):
SunLifeInsureance_SIGNED.2024.Q1.pdf
SpotDoesTrickAndFalls_ORIG.mp4
JSmithPassport_CANADA.2015_2025.pdf (I am a dual citizen)
JSmithCOVIDPass_DOSE1.2021.pdf
I like snake, but in some interfaces the underscores blend into the text line or are not rendered properly, so it becomes eaaier to discern if the filename has spaces or separators by using kebab.
For files, date+Snake: 20240831Letter_to_Rodney.odt For variables, Screaming
Kebab. Not my favorite visually speaking but I had RSI issues for a while and I’m still very focused on limiting keystrokes (no shift key needed with kebab).
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).
I don’t have a consistent style for everything and it depends on the circumstances. snake_case is often used, especially to avoid spaces. Sometimes I just do flatcase instead, and in rare cases also kebab-case or combined_snake-and-kebab-case. The combined_case is often useful to group parts of the name, like a dates and version numbers together and to indicate what part is constant; example-name_2024-08. Sometimes I also do the “Title Case”, which is basically PascalCase, but with spaces. Or even even more weird, “Python_Case”, which is PascalCase, but with snake_case, when I want to avoid spaces.
I often avoid dots in regular filenames, unless they indicate a file extension or format, such as “.svg” and “.inkscape.svg” to indicate its a specific version of the SVG format. Or “.xiso.iso”, as a specific compressed version of the regular ISO file (for use with Xemu emulator). Basically the same logic and tradition as “.tar.gz” (but in reverse order).
Pascal_Snek_Case