Throughout my years of school, there’s been multiple cases of teachers encouraging their students to ask questions. Often with the phrase, “There’s no such thing as a stupid question.” It’s a nice sentiment, but it’s also absolutely wrong.
We live in a modern fast-paced world where time is a hot commodity. Whether it’s spending it making money, doing something we find fun like a hobby, spending time with friends and family, or just relaxing, we can’t afford to waste it. So imagine going out of your way to answer someone who asks you, “What are your work hours?” when the store hours are directly in front of them in plain sight.
Maybe in this situation you still reply respectfully, it’s probably your job after all. However, when you’re not on the clock, would you still do the same? Not everyone is kind enough to reply respectfully, even less people would even bother to answer in the first place. Across the internet where you don’t have to speak directly, this applies even more so.
This is where asking questions smartly and succinctly comes in. There’s a lot to think about when asking a good question.
Of course this is only a few of the many ways to make a question better.
Using Stack Overflow as an example, we can look at questions that embody both the good and the bad.
Learning from mistakes is sometimes better than even success. In this person’s case, they likely learned quite a lot.
Their headline for starters reads: “What does the while(true) loop do in this C++ program?”
The body of their question immediately starts with a link to a GitHub. Though it’s not available anymore, according to comments, it linked to multiple files with over hundreds of lines of code. It is also implied in the comments that this was all that was posted originally since they request they post code in their question, not just a link. Currently, the question does contain code and further explanation though.
The person continues and gives multiple lines of exposition about what the program overall does and what various parts of the program itself looks like. This is followed by three functions worth of code. Only at the very end, does he reiterate that his question involves the while(true) loop and what it does.
The while(true) loop in question? That’s contained in the first 4-18 lines of the 50+ lines of code given.
Now for the analysis. The title has some relevant information in it. You know they’re asking about a while(true) loop and that this is in reference to a C++ program. However, asking so broadly what it does in the scope of the entire program, makes it seem like the answer could be very lengthy. This means it’s possible less people are willing to take the time to answer.
The biggest mistake they make is firstly, originally only posting a link.
As one of the commenters mentions “Post code in the question - not a link. It’s meaningless when the link goes stale or updated; and some proxys will ban github.”
Making someone sift through your entire program for answers is a big no-no. You’re supposed to do the work, not the one helping.
The asker goes too far in the opposite direction and gives way too much with their in-question section. With all that code and only hiding their inquiry at the bottom means some people will click off before they even see what needs to be answered. As they say, less is more.
Looking at the type of comments received, it’s also apparent that things could have gone better. Though he does get a few answers to his question, the comments on his question are all just different critiques on the question itself. Most explaining similar things brought up here. In fact, the comments critiquing his question are more than double the number of answers themselves.
A better example then, of what should be done is here.
The title reads: “How do I remove a property from a JavaScript object?”
It then gives a short 5 line example of the creation of a JavaScript object. Followed directly by the question, “What is the best way to remove the property regex to end up with new myObject as follows?” as well as another short 4 line example of what the output should look like.
Simple and to the point, this gets the question across clearly and directly states what they want to get out of it.
The responses speak for themselves. Double digit answers, all explaining what the correct action to take is in this situation. A lot of them even going out of their way to explain why this is the case and other solutions depending on different factors. Clearly these respondents were enthusiastic to give help, and show off their knowledge to someone who may actually make use of it. A far cry from the response section of the other.
I hope this dive into what makes a good question has come in handy and helps you make smarter choices in what you ask. I know looking into what makes a good question will cause me to think twice before I open my mouth. Asking smarter questions leads to better answers which leads to a better grasp of the subject. In turn that can help others find better answers in the future. If we all do our part in asking the right questions, everybody wins. That way, we avoid making a fool of ourselves.
After all, stupid is as stupid does.