-4

As I understand it, questions about nomenclature, including language for use in coding, are considered off-topic at EL&U.

Why is that? What was the rationale for deeming them as such? And does that rationale still hold all these years later?

I can't think of anything more mission critical to our survival as a species than ensuring our codebases are readable and understandable.

Programmers are standing by for our EL&U help — not just with naming variables and functions but with ways of thinking about readable, short-form English language that distills the human experience.

How, where, and to whom can I present an argument for allowing that which is currently not allowed here — that is, asking questions about "Naming, including naming programming variables/classes"?

What is the process? Who decides the rules here?

2
  • 2
    Here on Meta is the place to argue your case, but I think you’d have a hard time convincing people. I’ve written about the rules for naming vs single word requests here: english.meta.stackexchange.com/a/11964/191178. And it’s even more doubtful that you’d be able to make a successful site proposal on Stack Exchange as the rules are quite strict now — you would need an existing (external?) community ready to draw members from even before you submit a proposal.
    – Laurel
    Jul 11 at 16:17
  • 4
    If you need to know a word for something, and you've done your research on it but haven't found anything, you can certainly ask a question looking for that word. If it's a good question, you do not need to mention that what you are eventually going to do is to use that word in your variable name. If it's not a good question, it'll probably get closed quickly.
    – Hellion
    Jul 11 at 17:14
7

Baby-naming doesn’t fit the SE model

I doubt you'll gain much traction here.

That's because naming programming elements such as directories, files, classes, functions, and variables is no better a fit for the Stack Exchange Q&A model than naming babies, companies, products, and websites is, and for exactly the same reasons.

Amongst others, there can be no expert answers to these personalized requests to help future visitors to our site, nor are there objective criteria by which proffered suggestions can be judged and ranked. And nobody is going to return to provide objectively better suggestions later on down the road. That isn't how suggestions work; it is, however, how matters of programming and science, including linguistics, work.

Think of it like picking your favorite movie title. It isn't something the SE model is set up to address. Baby-naming does not fit our model, and this is no different from that. For that you have “social media”.

7
  • You can name your baby endTheWorld, but you shouldn't name your end-the-world function tom Jul 11 at 17:27
  • @TinfoilHat Oh, but you can't name your baby end_the_world. Try and you'll see why not, not even if you are Mr and Mrs World. :)
    – tchrist Mod
    Jul 11 at 18:32
  • 2
    The fact that some programmers equate code nomenclature with "baby-naming" presents exactly the challenge to maintaining readable and understandable codebases: "Why bother with endTheWorld when foo is so much shorter and cuter and runs just fine?" Jul 11 at 19:45
  • 3
    @TinfoilHat Their similarity lies in one aspect alone: how well the Stack Exchange Q&A model fits the problem space. The reasons why name-picking fails those fitness tests are always the same, irrespective of domain. After a lifetime of experience teaching computer science, I suspect I may know just a little bit about the importance of picking good names for software abstractions. It just doesn't work as a topic area under the Stack Exchange model. That casts no aspersions nor denigrations of the field.
    – tchrist Mod
    Jul 12 at 2:38
  • "It just doesn't work as a topic area under the Stack Exchange model." If not, why not? Change the model, change the fitness test, maybe? Whose test is this? Whatever it is that you do know gets lost when you denigrate the field of nomenclature by calling it "baby-naming." Jul 12 at 3:31
  • 3
    It would have to be changing the model. Any name is inherently opinion-based and not language-dependent. Just as English parents could name their child Juan if they want, you could name your function mettre_fin_au_monde. The child would still be a child; your function would work just as well. If you can frame the question in terms of English language then it would be on-topic.
    – Andrew Leach Mod
    Jul 12 at 6:48
  • Furthermore, this type of question can turn opinion-based very quickly, since in the vast majority of the cases, the best answer cannot be chosen objectively and based on facts Jul 13 at 11:59
2

The primary mission of Stack Exchange is to build a reference library of objectively ranked answers to questions about a topic.

If a question isn’t the sort that has answers that can be ranked by something other an individual’s opinion, it is out of scope.

If a question requires expertise in something other than the site’s topic to answer, it is out of scope.

If a question can be answered completely by a general reference like a dictionary or thesaurus, it is out of scope.

Things that are out of scope aren’t bad or valueless, they are just not what this community signed up to do. There was an extensive process to decide the scope of the site when it was proposed, and then an extended “beta” period where it was demonstrated that the scope was viable.

Labeling functions, table columns, or GUI elements is inherently subjective, and often involves coining new terms. No English expertise beyond an extensive vocabulary is required, but familiarity with programming concepts and math is often required to fully understand what is being named. Answers would be ranked either on how creative they are (subjective) or whether they use the most accepted terminology (requires expertise in something other than English), so they’re out of scope.

It would make more sense to try to expand the scope of a software development related site to cover naming things than to try to convince a community of linguists, etymologists, and serious English language enthusiasts that naming code doohickeys is where their expertise is needed.

4
  • Yes, I can see how it would be difficult to convince a community of linguists, etymologists, and serious English language enthusiasts who use words like “code doohickeys” and “baby-naming” — who believe it’s none of their business if someone wants to call a function r (works just fine!) instead of identifying an English term to appropriately describe what r does — that they should be worried. While EL&U puts people through the machinations of disguising their queries as single word requests, I’ll pray the plane stays aloft while they’re editing their posts. Jul 13 at 23:20
  • @TinfoilHat If you’re working on software for a client and they give you a requirement that it should output only colors that make their pet marmot happy, would you push back on that? What colors can a marmot see? How can you tell if a marmot is happy? If you asked them to instead provide you a list of suitable colors, would they be disguising their ‘real’ requirement or just putting it into a more useful form for someone whose expertise is software development and not marmots?
    – ColleenV
    Jul 14 at 15:15
  • Their "real" requirement is makeMarmotHappy, not outputColors (or worse yet, doCol). So, yes — their providing a solution instead of stating the problem is counterproductive. Jul 16 at 4:02
  • @TinfoilHat No, the requirement is to output colors that make the marmot happy. If you make the marmot happy by playing it a song, you’ve failed. And having worked in software for about three decades now, I know all about specifying the solution instead of the requirement. Regardless, it’s apparent you’re just looking for a fight instead of trying to come to some understanding, so I’m done.
    – ColleenV
    Jul 16 at 11:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .