
In many classes and fields, people might say that there are no stupid questions. In many cases, this is true. Sometimes people hesitate to ask simple and obvious questions even though they could be helpful. Sometimes “stupid questions” can be the smartest questions. But sometimes, a question can feel like a chore. Some questions feel like they turn productive discussions into a slog that benefits nobody. This is particularly evident in programming communities like Stack Overflow, where vague or poorly framed questions can hinder rather than help. In such a complicated and treacherous field, asking the right questions can be the smartest thing one can do.
Sometimes questions create more questions, and in programming this is especially true. Basic questions like “what’s wrong with this code,” or “how do you impliment this” don’t give a lot of information. The person responding to the question might not know what the original poster is trying to do or how much they know about the subject. Implementing specific functions can look completely different depending on what the goal of the project is. This is why it’s important to include a specific goal, a detailed explanation of the problem, and an example or summary of attempted solutions. This ensures that all readers can understand and help with a problem. In Stackflow, there are many instances of both good and bad questioning. In order to harbor a productive and nuanced discussion, it’s important to analyze these examples.
The following is a question posted to Stack Overflow:
Why does HTML think “chucknorris” is a color?
Why do certain random strings produce colors when entered as background colors in HTML?
For example, bgcolor="chucknorris" produces a red background:
<body bgcolor="chucknorris"> test </body>
Conversely, bgcolor="chucknorr" produces a yellow background:
<body bgcolor="chucknorr"> test </body>
This holds true across various browsers and platforms. What’s going on here?
Source: https://stackoverflow.com/questions/79401235/use-ternary-relationship-or-complex-attribute
This is a good example of a productive question. Not just because I find the subject to be humorous, but also because there’s a clear goal behind the problem and a clear explanation of the users experience. The examples also reflect the question and further shows the reader what’s being worked on. Despite being concise, this question is well-structured and informative. It adheres to foundational principals of creating smart questions; like defining a clear goal, providing relevant examples, and sharing user expereince. These factors make it easy for others to engage in a productive discussion and offer solutions.
The following is a question posted to Stack Overflow:
use ternary relationship or complex attribute? [closed]
I am creating the ERD of my Job recruitment system.
In the Apply relationship is applicationStages drawn and mapped to reflect that the applicationStages should only be visible once an applicant has applied to a job and was shortlisted by a recruiter to start the interviewing process?
Should the ApplicationStages be represented as a weak entity on this relationship, or a complex attribute?
Source: https://stackoverflow.com/questions/79401235/use-ternary-relationship-or-complex-attribute
This is a rather short question that didn’t detail all that much about the problem. While the user briefly stated their goal, there’s no background information about the project or any coding examples. Thus, the reader can’t gain a full grasp on what the user is trying to accomplish. One user named philipxy wrote: “Ask 1 specific researched non-duplicate question. Include relevant DDL. PS With no specification a design cannot be evaluated. PS How are you stuck evaluating/deciding, following what design method?” It’s difficult to give feedback when there’s a lack of information, and as the commenter pointed out, there’s no specific infomation on the background or design method that they could follow. This only leads to more questioning and less productivity.
As people seeking guidence, it’s important to make our questions clear to the reader. Sometimes questions only lead to more questions, and that’s a confusing experience that burdens the people trying to help. It’s important to provide a clear goal, provide background for the issue, and give examples or user experiences. This way people can gain important context and insight into the problem. By working in this mannor, we can create a more harmonious and productive discussion around programming as a whole. By asking smart questions, we create smarter answers.