This is how I tend to use this site (and other SE sites):
- I work.
- I run into a problem I cannot solve myself (at least not easily, without devoting very substantial time or effort I cannot now devote). For example:
- I don't know how to progress in my task.
- I can see more than one way to progress, but cannot evaluate which way to choose. (flip a coin?)
- I cannot explain to myself why something that seems true is indeed true.
- Etc.
- I need help of someone more knowledgeable/experienced than me to progres!
- Type the question into an appropriate SE site
- Does the Similar questions box show this question? If yes, read. If not, ask.
From then... this is a coin flip for me. I'm notoriously incapable of grasping the fine lines between an on-topic question and off-topic question. Very often there are two very similar questions, one of which is highly upvoted, while the other one is severly downvoted and/or closed - and I cannot spot the difference!
Thus, unfortunately, I cannot craft my question so that it would be well-received, nor can I predict whether my question will be well-received or not.
Same thing happened with this question: How important is it to have a consistent technological stack?
According to early feedback, my question is off-topic because it is an opinion-based question.
But I bring up many examples of questions that seem to me to be similar in nature (go for solution X or Y, and why?) that were well-received on this site. Two examples of my own questions: If-else ladder that is supposed to catch all conditions - should a redundant final clause be added? and Pointers vs keeping indices of objects stored in a central (associative) array?
Granted - the question I'm talking about now is a little bit... peculiar. In short: I am facing two possible solutions, X and Y, out of which X takes magnitudes of time more than Y (rewrite half of existing code to a different programming language vs dont rewrite). I have a problem because I find myself having a gag reflex towards the easier solution of these two... I ask myself: Why do I hate Y so much? - the answer is: Because I want consistency. If I use technology stack ${Stack}
in my project, I should be using it for all problems solvable by this stack. Ugh... Does my reasoning make sense? I start suspecting I may have fallen to the trap of all-or-nothing thinking: Either everything must be written in JS, or everything must be written in .Net, I must not write half of my project in JS and the other half in .Net.
Did I? Is here a real problem or am I making up a problem where there, in fact, there is none?
The problem seems to reduce to the question: Am I correct in wanting maximum consistency in the technological stack I use? - I cannot answer this myself, I need help of someone more knowledgeable and experienced! => Ask. Be told this question is a bad fit because it is subjective.
I read this: The real borderline for "Opinion based" in Software Engineering And also the opinion-based part of this: Why was my question closed or down voted?
I now have a hypothesis: My question is opinion-based and off-topic precisely because I cannot describe an actual problem, rather, I need to ask if X is indeed a problem. Is this correct? If I have a question when I'm unsure if the problem actually exists of if I'm making up a problem where there is in fact none, is such a Q automatically off-topic?