Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Help me name my components

Help me name my components

Scheduled Pinned Locked Moved The Lounge
javascripthelpquestion
33 Posts 20 Posters 1 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Kschuler

    I'm working on a react project that has a component and related components named filter, filter group, etc. They need a complete overhaul and I was told to create a new set of components so that we can slowly implement the new one. Now I'm having the mental dilemma of figuring out what to name these new components. I flat out refuse "NewFilter" or "FilterNew" because you know it's going to have another iteration one day..."Filter2" seems blah. Does everyone else fret over naming things? What would you pick?

    R Offline
    R Offline
    raddevus
    wrote on last edited by
    #8

    Perfect task for Copilot. I gave it the entire text of your original post and here is Copilot's response. :-D

    Copilot said:

    Ah, the eternal struggle of naming things in software development! It’s a challenge that many of us face, and it’s perfectly normal to fret over it. After all, a good name can make your code more readable and maintainable, while a poor one can lead to confusion and frustration. Here are a few strategies you might consider when naming your new components: Descriptive Names: Aim for names that clearly convey the purpose or functionality of the component. For example: FilterPanel: If your component handles filtering functionality. FilterOptions: If it’s related to filter configuration. FilterSelector: If it allows users to choose from different filters. Think about what the component does and choose a name that reflects that. Domain-Specific Terms: Consider using terms from your project’s domain or industry. For instance: TagCloud: If your component deals with tags. SearchCriteria: If it represents search filters. SortDropdown: If it handles sorting options. Using domain-specific terms can make your code more intuitive for other developers. Avoid Generic Names: As you mentioned, names like “NewFilter” or “Filter2” aren’t very helpful. They lack specificity and might cause confusion down the road. Instead, opt for more meaningful names that provide context. Be Consistent: If your existing components follow a certain naming convention (e.g., “FilterGroup”), try to maintain consistency. Consistency makes it easier for developers to understand the relationships between components. Avoid Abbreviations: While abbreviations can save keystrokes, they often sacrifice clarity. For example, prefer FilterConfiguration over FilterConfig. Think About Future Iterations: You’re right to consider future-proofing your names. Think about how the component might evolve. Instead of “Filter2,” consider something like “AdvancedFilter” or “EnhancedFilter.” Remember that there’s no one-size-fits-all answer, and different projects and teams have varying conventions. Ultimately, choose names that make sense in your specific context. And don’t worry—you’re not alone in this naming struggle! 😄

    1 Reply Last reply
    0
    • K Kschuler

      I'm working on a react project that has a component and related components named filter, filter group, etc. They need a complete overhaul and I was told to create a new set of components so that we can slowly implement the new one. Now I'm having the mental dilemma of figuring out what to name these new components. I flat out refuse "NewFilter" or "FilterNew" because you know it's going to have another iteration one day..."Filter2" seems blah. Does everyone else fret over naming things? What would you pick?

      C Offline
      C Offline
      Clumpco
      wrote on last edited by
      #9

      Filter2024 or FilterTOS FilterTNG FilterDS9 FilterVGR

      So old that I did my first coding in octal via switches on a DEC PDP 8

      J 1 Reply Last reply
      0
      • K Kschuler

        I'm working on a react project that has a component and related components named filter, filter group, etc. They need a complete overhaul and I was told to create a new set of components so that we can slowly implement the new one. Now I'm having the mental dilemma of figuring out what to name these new components. I flat out refuse "NewFilter" or "FilterNew" because you know it's going to have another iteration one day..."Filter2" seems blah. Does everyone else fret over naming things? What would you pick?

        D Offline
        D Offline
        dandy72
        wrote on last edited by
        #10

        FilterNew, Filter2, etc, as you put it, are bad options. Try to add a bit of context to the name to differentiate it from other filters you may have elsewhere. *What* type of thing it's supposed to be filtering. If it's intended to filter items that all have the same interface (IBlob) or share a common base class (Blob), maybe BlobFilter. That sort of thing. Don't overthink it.

        1 Reply Last reply
        0
        • C Chris Maunder

          [Technology to the rescue](https://wheelofnames.com/)

          cheers Chris Maunder

          T Offline
          T Offline
          TNCaver
          wrote on last edited by
          #11

          That's brilliant. I'm going to use these in our standups, 'cause our current order is by volunteer.

          There are no solutions, only trade-offs.
             - Thomas Sowell

          A day can really slip by when you're deliberately avoiding what you're supposed to do.
             - Calvin (Bill Watterson, Calvin & Hobbes)

          1 Reply Last reply
          0
          • C Clumpco

            Filter2024 or FilterTOS FilterTNG FilterDS9 FilterVGR

            So old that I did my first coding in octal via switches on a DEC PDP 8

            J Offline
            J Offline
            John Bevan
            wrote on last edited by
            #12

            Yeah, I thought if there's no additional context beyond versioning a date works well (i.e. your `Filter2024` suggestion), as you shouldn't be refactoring multiple times per year, and keeping track of dates is easier than using any versioning system (e.g. if one component didn't get redefined when doing the v2 work, when you refactor again does that component jump straight to v3, or should it be the v2 of that component despite being v3 of the whole / etc).

            1 Reply Last reply
            0
            • K Kschuler

              Ha ha...I was looking at thesaurus entries. I was almost considering "sieve" just to be fun.

              C Offline
              C Offline
              Chris Nicolatos
              wrote on last edited by
              #13

              Another choice is translate.google.com Put the component name on the left and go through various languages on the right, you have filter in Lithuanian is filtras in Igbo it's nyo in Scots Gaelic it's criathradh now you have the benefit of learning new languages while you program :)

              D T 2 Replies Last reply
              0
              • K Kschuler

                I'm working on a react project that has a component and related components named filter, filter group, etc. They need a complete overhaul and I was told to create a new set of components so that we can slowly implement the new one. Now I'm having the mental dilemma of figuring out what to name these new components. I flat out refuse "NewFilter" or "FilterNew" because you know it's going to have another iteration one day..."Filter2" seems blah. Does everyone else fret over naming things? What would you pick?

                M Offline
                M Offline
                MikeTheFid
                wrote on last edited by
                #14

                GefilterFish :-)

                Cheers, Mike Fidler "I intend to live forever - so far, so good." Steven Wright "I almost had a psychic girlfriend but she left me before we met." Also Steven Wright "I'm addicted to placebos. I could quit, but it wouldn't matter." Steven Wright yet again.

                1 Reply Last reply
                0
                • K Kschuler

                  I'm working on a react project that has a component and related components named filter, filter group, etc. They need a complete overhaul and I was told to create a new set of components so that we can slowly implement the new one. Now I'm having the mental dilemma of figuring out what to name these new components. I flat out refuse "NewFilter" or "FilterNew" because you know it's going to have another iteration one day..."Filter2" seems blah. Does everyone else fret over naming things? What would you pick?

                  B Offline
                  B Offline
                  Bruce Patin
                  wrote on last edited by
                  #15

                  If you don't get over using "2", you will eventually have the same problem again, and you will forget which is the current one. ;)

                  D 1 Reply Last reply
                  0
                  • K Kschuler

                    I'm working on a react project that has a component and related components named filter, filter group, etc. They need a complete overhaul and I was told to create a new set of components so that we can slowly implement the new one. Now I'm having the mental dilemma of figuring out what to name these new components. I flat out refuse "NewFilter" or "FilterNew" because you know it's going to have another iteration one day..."Filter2" seems blah. Does everyone else fret over naming things? What would you pick?

                    P Offline
                    P Offline
                    Peter Kelley 2021
                    wrote on last edited by
                    #16

                    Colander

                    E 1 Reply Last reply
                    0
                    • C Chris Nicolatos

                      Another choice is translate.google.com Put the component name on the left and go through various languages on the right, you have filter in Lithuanian is filtras in Igbo it's nyo in Scots Gaelic it's criathradh now you have the benefit of learning new languages while you program :)

                      D Offline
                      D Offline
                      dandy72
                      wrote on last edited by
                      #17

                      Chris Nicolatos wrote:

                      in Lithuanian is filtras in Igbo it's nyo in Scots Gaelic it's criathradh now you have the benefit of learning new languages while you program

                      What is it they say again about writing software as if the next guy that has to maintain it is a psychopath who knows your home address? Yeah, that. I don't see this as being any better than using random 2-character variable names. Or complete gobbledygook. The smiley at the end of your post probably saved you. :-)

                      C A 2 Replies Last reply
                      0
                      • B Bruce Patin

                        If you don't get over using "2", you will eventually have the same problem again, and you will forget which is the current one. ;)

                        D Offline
                        D Offline
                        dandy72
                        wrote on last edited by
                        #18

                        OMG, you've just reminded me that Microsoft itself is very much guilty of that right in plain ol' Win32. I don't remember what component exactly--something to do with retrieving network configuration data--and they oh-so-wisely chose to append "2" at the end of some function names (and structs) to differentiate them from previous versions (you can't just remove functions from the standard Win32 set without breaking stuff). Someone remembers what I'm talking about, I'm sure, I can't be bothered to look it up right now. I'm pretty sure I also saw a "3"...proving your point. With names like that, nobody but the original author, who is intimately familiar with the underlying implementation, ever stands a chance of remembering which does what, and you constantly have to go back to documentation. Assuming it exists and is adequate enough to point out the differences. I absolutely believe in the saying that properly naming things *is*, indeed, one of the hardest computer science problems.

                        E 1 Reply Last reply
                        0
                        • C Chris Maunder

                          [Technology to the rescue](https://wheelofnames.com/)

                          cheers Chris Maunder

                          C Offline
                          C Offline
                          Choroid
                          wrote on last edited by
                          #19

                          I clicked on the link because it would be a programming revelation YES I am still learning no revelations here keep moving I now know better humor is worth more than revelations made me laugh Caught Covid yesterday so needed a laugh Chris Maunder2

                          C 1 Reply Last reply
                          0
                          • C Choroid

                            I clicked on the link because it would be a programming revelation YES I am still learning no revelations here keep moving I now know better humor is worth more than revelations made me laugh Caught Covid yesterday so needed a laugh Chris Maunder2

                            C Offline
                            C Offline
                            Chris Maunder
                            wrote on last edited by
                            #20

                            the dreaded 'vid. Salt water gargle and netflix. I hope it brushes you lightly.

                            cheers Chris Maunder

                            1 Reply Last reply
                            0
                            • K Kschuler

                              I'm working on a react project that has a component and related components named filter, filter group, etc. They need a complete overhaul and I was told to create a new set of components so that we can slowly implement the new one. Now I'm having the mental dilemma of figuring out what to name these new components. I flat out refuse "NewFilter" or "FilterNew" because you know it's going to have another iteration one day..."Filter2" seems blah. Does everyone else fret over naming things? What would you pick?

                              J Offline
                              J Offline
                              jochance
                              wrote on last edited by
                              #21

                              Sieve?

                              1 Reply Last reply
                              0
                              • D dandy72

                                OMG, you've just reminded me that Microsoft itself is very much guilty of that right in plain ol' Win32. I don't remember what component exactly--something to do with retrieving network configuration data--and they oh-so-wisely chose to append "2" at the end of some function names (and structs) to differentiate them from previous versions (you can't just remove functions from the standard Win32 set without breaking stuff). Someone remembers what I'm talking about, I'm sure, I can't be bothered to look it up right now. I'm pretty sure I also saw a "3"...proving your point. With names like that, nobody but the original author, who is intimately familiar with the underlying implementation, ever stands a chance of remembering which does what, and you constantly have to go back to documentation. Assuming it exists and is adequate enough to point out the differences. I absolutely believe in the saying that properly naming things *is*, indeed, one of the hardest computer science problems.

                                E Offline
                                E Offline
                                englebart
                                wrote on last edited by
                                #22

                                InternetExplorer as a component: WebView. Edge as a component: WebView2. (This is an unresearched posting, but pretty close if wrong)

                                D 1 Reply Last reply
                                0
                                • P Peter Kelley 2021

                                  Colander

                                  E Offline
                                  E Offline
                                  englebart
                                  wrote on last edited by
                                  #23

                                  Colonder. It doubles as a filter AND a calendar component for enterologist offices.

                                  1 Reply Last reply
                                  0
                                  • D dandy72

                                    Chris Nicolatos wrote:

                                    in Lithuanian is filtras in Igbo it's nyo in Scots Gaelic it's criathradh now you have the benefit of learning new languages while you program

                                    What is it they say again about writing software as if the next guy that has to maintain it is a psychopath who knows your home address? Yeah, that. I don't see this as being any better than using random 2-character variable names. Or complete gobbledygook. The smiley at the end of your post probably saved you. :-)

                                    C Offline
                                    C Offline
                                    Chris Nicolatos
                                    wrote on last edited by
                                    #24

                                    Having grown up using FORTRAN IV where there was a 6 character limit to variable names using only A-Z and 0-9, you had to be very inventive to avoid everything being A1, A2, A3, I, J, K etc

                                    D 1 Reply Last reply
                                    0
                                    • K Kschuler

                                      I'm working on a react project that has a component and related components named filter, filter group, etc. They need a complete overhaul and I was told to create a new set of components so that we can slowly implement the new one. Now I'm having the mental dilemma of figuring out what to name these new components. I flat out refuse "NewFilter" or "FilterNew" because you know it's going to have another iteration one day..."Filter2" seems blah. Does everyone else fret over naming things? What would you pick?

                                      S Offline
                                      S Offline
                                      star__duster
                                      wrote on last edited by
                                      #25

                                      Does your programming language support namespaces? Then I‘d stay with Filter but put it in a different namespace. Then you would ‚only‘ need a name for the namespace. During a transition phase you must specify the namespace, if both types can be used in parallel.

                                      1 Reply Last reply
                                      0
                                      • C Chris Nicolatos

                                        Another choice is translate.google.com Put the component name on the left and go through various languages on the right, you have filter in Lithuanian is filtras in Igbo it's nyo in Scots Gaelic it's criathradh now you have the benefit of learning new languages while you program :)

                                        T Offline
                                        T Offline
                                        trønderen
                                        wrote on last edited by
                                        #26

                                        Many moons ago I worked on a project in need of a file record manager. We didn't have the resources to build it from scratch, and searched for a library. As we would have to make adaptations, we needed open source solutions. We settled for one alternative recommended by several users - but it turned out to be useless to us: Every internal function, every variable, every comment was in French. None of us knew any French at all. We made a serious try to understand the workings of a few of the functions, but had to give up - it would be easier to write it from scratch ourselves (which had been ruled out for resource reasons). Even long before that, I have in my code followed two rules: Everything that only a programmer will see is in English (including off line documentation). Anything that will be seen by a user, including the most advanced users, is in the language of the user (including all the online or offline documentation a user will ever see) - i.e. it may appear in multiple languages, so the texts should be organized for simple translation, in separate modules/files. So I never use Norwegian variable names in my code, even if the all the users of the program are Norwegians.

                                        Religious freedom is the freedom to say that two plus two make five.

                                        1 Reply Last reply
                                        0
                                        • E englebart

                                          InternetExplorer as a component: WebView. Edge as a component: WebView2. (This is an unresearched posting, but pretty close if wrong)

                                          D Offline
                                          D Offline
                                          dandy72
                                          wrote on last edited by
                                          #27

                                          Jeez, I didn't even think about that one, and I've just spent quite a bit of time migrating over an old piece of code leveraging WebView to WebView2. At least in this case it's pretty clear WebView was built around IE, and WebView2 is the Edge version, and I just "naturally" think about it in those terms. There are components however where you just don't know unless you check the documentation.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups