Occasionally, we'll get a question asking for help about naming a concept or symbol, and we've been closing them as "off-topic" and "not constructive" on the basis that naming questions rarely amount to detailed answers beyond "Name it X." or "What about Y?"

Previously, there was a discussion in regards to questions like this on whether or not we needed a "general reference" close reason. The consensus, as I understood it, was that we don't need a new close reason because such questions are off-topic by the first line in our FAQ (emphasis mine):

Programmers - Stack Exchange is for expert programmers who are interested in conceptual questions on software development.

"What do I call X?" is a question that's generally uninteresting and irrelevant to expert programmers, and thus should not be here.

However, there was some discussion about an attempted migration from English.SE on whether this excludes all naming questions or if there is a certain subset of naming questions that would be allowed, particularly ones that are not blindingly obvious.

Should all naming questions be considered off-topic and not constructive?

  • If so, should we add a line to our FAQ about it?
  • If not, why not? What types of naming questions could work here?

6 Answers 6


I think there's a difference between questions that ask for a proper term for a concept and questions that ask for naming suggestions for a class or a method.

The former would be fine, in my opinion, but the latter do not belong on Stack Exchange for reasons of being both too localized and entirely discussion-oriented.

  • Can we get some clarification on this? Even proper terms for concepts allows for an infinite number of the most mundane questions, including this one: programmers.stackexchange.com/q/206415 Commented Jul 30, 2013 at 3:58
  • Some clarification would be really helpful. I am the OP of the question that Robert Harvey posted. Commented Jul 30, 2013 at 4:49
  • Please comment on this meta question about the current community consensus Commented Jul 30, 2013 at 9:53

Yes, not everyone knows the standard terms.

It's ok to be not an expert.

  • I am developing with someone who is not so good in English. He often asks me how to name something. My hair stands on end realizing some people forbidding my friend to ask such questions here. Names are important. Choose the name wisely and you need a lot less commenting.
    – nalply
    Commented Aug 12, 2012 at 7:33

Yes, as per Anna Lear and Paul Nathan's answers. Asking what the naming of a symbol is is on-topic (as opposed to asking for naming policies for variables/fns/modules). In particular, note these questions (using punctuation) are usually search-engine-proof.

Here are some salient examples:

  • Tcl's :: operator (it's called the scoping operator, but very few people know that, including Brent Welch, the author of the Tcl bible, until I emailed him that erratum)

  • Python's @ notation for decorators: newbies are frequently unable to tie that to 'decorator'.


One of the justifications for the patterns movement was that having a common vocabulary would help programming overall, and I think that's correct. I think they are reasonable questions if they are asking for programming specific terms that would be encountered by a reasonably large number of people but that you can't google in 2 minutes. And I guess excluding those every programmer is expected to know, though most of those probably could be googled in 2 minutes even if you don't know the name to search with.

Wouldn't Stack Exchange want the basic terms defined on at least one of their sites though? I thought part of their goal is to drive site traffic.

  • 1
    Yes and no. We want to drive traffic, but we don't want to drive traffic just for the sake of doing so. The major selling point of SE sites is a focused and expert userbase and/or audience. Some of the definition questions can be googled in 2 minutes, but we'd need a "General Reference" close reason to deal with those properly.
    – Adam Lear StaffMod
    Commented Oct 9, 2011 at 0:56

I posted this to Meta Stack Overflow when it was asked there, but it's probably good to have it here on this question as well. In general, understanding the meaning of well-known programming terminology used in names would be on-topic for Programmers:

What is a delegate? What things count as delegates?

Similarly, understanding the appropriate use of design patterns (which would likely indirectly lead to answering a question about naming) would be on-topic for Programmers as well:

I'm working on X problem: would using the observer pattern be the most appropriate way to handle it?

And finding the correct terminology to describe a concept is usually on-topic on Programmers:

I've used this pattern that looks similar to other code I've seen, but I'm not sure how to refer to it so I don't look dumb in front of my coworkers

But many of these types of "concept naming" questions get too far into bike-shedding and neologisms and thus aren't constructive:

Can you think of a name to call this pattern I just made up?

Likewise, naming advice for your classes, methods, et al is not constructive anywhere, including Programmers. It ultimately rests on who's reading the code and what the internal naming conventions for the project are:

What should I call this method that does X?

Subsequently, understanding people's code would not be on-topic for Programmers (or Stack Overflow) either as it requires private knowledge about the intent of a person we don't know:

Why did my coworker name this method punchFluffyBunnies()?


I'm with Mark Trapp on this

Programmers - Stack Exchange is for expert programmers who are interested in conceptual questions on software development.

If it gets clogged up with 1st year homework & total beginner questions from people too clueless to know what "void" means and too dense to know how to use google or wikipedia its' utility is diluted.

  • 2
    I disagree because I think this site should be for all programmers, not just expert ones. Everyone has to start somewhere, and a centralized location like this for programmers is a great place to start. I would by no means call myself an "expert programmer", and I have benefited greatly from this site. If you see a bad question, vote it down and vote to close it, but don't try to limit questions just because they are not at an "expert" level"
    – Rachel
    Commented Oct 12, 2011 at 20:14
  • 1
    Ok Rachel, Change the tagline then because it's misleading. I was drawn to this tagline. I've been programming professionally for 25 years now. I want discussions with peers that know more than me and to contribute where I can - I'm not going to hang around to tell a 15 year old how to do his/her homework
    – mcottle
    Commented Oct 12, 2011 at 23:12
  • 2
    -1 because asking for a name is not homework or a total beginners question. In our team we sometimes discuss names and decide to rename a class, method, action or other artifact of our application.
    – nalply
    Commented Aug 12, 2012 at 7:36