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?

  • @[email protected]
    link
    fedilink
    73
    edit-2
    6 months ago

    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

    • Odin
      link
      126 months ago

      This is exactly what I do. It lends itself to something like ‘prefix_specific-info_version’ which is both sortable and easy to read.

    • @[email protected]
      link
      fedilink
      7
      edit-2
      6 months ago

      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… :/

    • Caveman
      link
      26 months ago

      I can tell that this guy fucks

  • Leaflet
    link
    English
    506 months ago

    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
  • @[email protected]
    link
    fedilink
    406 months ago

    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

  • @thevoidzero
    link
    286 months ago

    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):

    https://github.com/Atreyagaurav/nameit

  • @Meltrax
    link
    226 months ago

    SCREAMING_SNAKE_CASE just has the best name

    • Tomkoid
      link
      fedilink
      106 months ago

      YES, I USE THIS TOO TO STAY CONSISTENT WITH SQL QUERIES

  • @[email protected]
    link
    fedilink
    216 months ago

    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.

    • @Treczoks
      link
      86 months ago

      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…

  • @[email protected]
    link
    fedilink
    176 months ago

    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.

    • Sips'OP
      link
      fedilink
      46 months ago

      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.

  • @[email protected]
    link
    fedilink
    136 months ago

    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

    • Codex
      link
      226 months ago

      Interesting, I’d tend to demote the initialism, ie topSecretFbiFiles.tar.gz

      • @[email protected]
        link
        fedilink
        26 months ago

        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

  • Billegh
    link
    136 months ago

    For files, kebab case. For variables, snake case. For servers, megaman villains.

  • @[email protected]
    link
    fedilink
    English
    126 months ago

    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!

  • zitrone 🍋
    link
    fedilink
    116 months ago

    How about “cool file name”?

    All my systems use modern file systems that are case sensitive and can contain any character except / and \0.

      • zitrone 🍋
        link
        fedilink
        36 months ago

        not really

        You can easily escape spaces with \ and my modern shell (fish) suggests and completes filenames for me anyway, so i don’t have to type more than the first word in more than 90% of cases.

        • @ouch
          link
          6
          edit-2
          6 months ago

          Typing \ in those cases instead of _ is super annoying.

          In my keyboard layout backspace is behind altgr.

          • zitrone 🍋
            link
            fedilink
            16 months ago

            the standard keyboard layouts (qwerty, qwertz, etc.) are mostly trash

            are there any good alternative keyboard layouts for your native language (finnish if im not mistaken)?

            In Germany there is the Neo Family: Neo{,2}, NeoQwert{y,z}, Bone, Mine, … as well as offsprings of that, but I guess you need your diacritics: å ä and ö. While Neo layouts have these diacritics available, they are made for german, so only ä ö and ü are easily accessible.

            • @ouch
              link
              16 months ago

              Finnish indeed. I’m not aware of any alternative layouts. å is completely unnecessary for finnish, so maybe the layouts you mentioned could work.

          • zitrone 🍋
            link
            fedilink
            16 months ago
            for i in path/to/dir/*
              dosomething_with_my_file $i
            end
            

            where is the problem? fish shell doesn’t split arguments at spaces

              • zitrone 🍋
                link
                fedilink
                16 months ago

                IFS is a special shell variable in bash, ksh and POSIX shells that lets you configure how the shell splits words

                by default it splits at spaces tabs and newlines

                I use fish a shell that is intentionally not POSIX compatible. While it borrows some principles from Bash and POSIX, it simplifies a lot of things and removes most footguns. Words are split at new lines in fish, which admittedly can also cause troubles, but not nearly as often as in bash and other POSIXy shells.

    • boredsquirrel
      link
      fedilink
      6
      edit-2
      6 months ago

      True. Linux, Android, Windows all have no problems

      Using dots in a file though…

  • @[email protected]
    link
    fedilink
    106 months ago

    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.

    • @[email protected]
      link
      fedilink
      56 months ago

      Given OP mentions kebab-case, this is probably about file-systems. But you are absolutely correct about code.

  • @[email protected]
    link
    fedilink
    106 months ago

    25% Camel case, 25% Pascal and 50% of the time flatcase. It drives me insane when I try and autocomplete a folder only to realise it was Downloads instead of downloads. I keep telling myself i will go through and make it all flatcase but I put it off because i tell myself i will rebuild my computer next week every week.

    • imecth
      link
      fedilink
      66 months ago

      Never thought about making the home folders flatcase, thanks, takes all of 2 minutes btw.
      If anybody else wants to do it, remember to edit ~/.config/user-dirs.dirs with your new flatcase folders.

    • @[email protected]
      link
      fedilink
      56 months ago

      I do the flatcase in my machines too, but it stopped being such big a nuisance to me when I moved to ZSH - it can autocomplete case-insensitively.