As brought up here, I'm not sure when the last time we (as a site) discussed how to determine if questions are on- or off- topic.
A lot of questions currently fails the "any or all facets of the code" and yet are not closed. How does this question differ from "How can I make this code more object-oriented"?
– Simon Forsberg♦It is no different from "I need the same thing but object-oriented"....
– rolfl♦If the difference between an off-topic question and an on-topic question is as simple as editing the pure-english part that the OP most likely haven't given very much thought, should we then tell the OPs "Sorry, you are asking for how to change your code - if you change it to it would be on-topic."? That's not a comment I am willing to write.
– Simon Forsberg♦
I'm not picking on diamonds, it just seemed like a relevant way to start this
Related:
- Are you allowed to post incomplete programs that you still want reviewed?
- Can I ask for review for something specific without posting too much context?
- Are requests to analyze the complexity of code on-topic?
- I think my code might have a bug, but I am not sure if it actually does, is it broken code?
- Are questions with undiscovered bugs allowed?
- Rewriting specific parts of the code
It seems we don't really have an agreed-upon opinion on certain types of questions, questions like:
- "How can I refactor this function?"
- "Is there a better way to perform this algorithm?"
- "What can I do so this loop handles edge-cases that I'm aware of?"
Essentially, what's the difference in the wording of the question? What's the difference between a native-English speaker's vs a non-native speaker's wording structure?
To the best of my knowledge, does the code work as intended?
On-topic
- Q: "Here's my game and it works as I intend"
- A: "You missed an edge case of
i=0
Off-topic
- Q: "This game works except for when
i=0
- C: Off-topic sorry
On-topic
- Q: "Here I'm iterating through a bunch of different things, but it takes forever and sometimes freezes"
- A: You should try refactoring like this
Off-topic
- Q: How can I refactor this function so it doesn't freeze?
- C: Off-topic
In these cases one of us could easily delete or reword one sentence for it to switch from off- to on-topic. It seems it all comes down to one guideline:
To the best of my knowledge, does the code work as intended?
How strictly do we, as a site, want to adhere to this aspect of the on-topic test? Do we want to penalize users that are aware of a broken edge-case? Or should we base that on whether they are a beginner or not? How can we tell who is a beginner in whatever language it is?
Should I just pretend I don't see a broken edge case if I'm posting in a new language? Would that change whatever answers I was going to get anyway?
I'm asking a question here that isn't about what's right or wrong, I'm asking a question here about how we want to culture of this site to handle these types of things.
How on- or off-topic are these questions?
- I know a dictionary would be faster, but I couldn't get it to work so I'm using arrays?
- How can I use a dictionary here instead of arrays?
- I need help refactoring this part of my code so I don't need to keep repeating it, even though that works.
- This game works and I know it breaks without sanitized input, but I haven't gotten to that part yet.
- This game works but I'm not sure how to handle non-sanitized input.
- I'm J̶o̶n̶ ̶S̶k̶e̶e̶t̶ near expert in C#, but this is my first shot at Brainfuck. I can see where my structure is deficient, but I don't know how to do it the Brainfuck way. Sorry, this is a Skeet-free site
There are infinite examples of questions that could be switched between on- and off-topic by changing one or two words.
And I know not everyone one a site is going to always agree, and we shouldn't, but there should be a general trend for new users to get a feel of site culture.