I would like to first say that Stack Overflow is one of the most valuable resources to any programmer. Stack Overflow contains almost an unlimited wealth of knowledge to almost any type of question in computer science. I have personally used Stack Overflow to help understand concepts where I was having trouble with during my undergraduate career. The only problem with Stack Overflow is that one must be able to sift through various questions quite quickly to be able to find an answer that helps with their current problem. This brings up the concept of “good questions” and “bad questions.” While Stack Overflow contains many topics that are quite useful, there is an equal amount of topics that are downright useless.
What are good questions? To answer this question, I will refer to Raymond’s article, “How To Ask Questions The Smart Way,” that can be found at this link. To summarize his article, a good question should be thought provoking, courteous, and shows that the questioner performed some prior work. In addition, the questioner should also upvote the solution that someone else provides if it helps solve their problem. If the questioner resolved the problem on their own, they should also post their solution to the same thread. Performing all these operations will increase the amount of useful information that can be found on Stack Overflow.
An example of a good question is “Algorithm improvement for Coca-Cola can shape recognition” by Charles Menguy at this link. The post contains prior work done for the question and provides good examples of what works and what does not work for detecting a can of Coca-Cola using OpenCV. The questioner also takes his time to patiently explain what was done and provides images of what he was working with. In addition, the entire thread provides many insightful views from the various answers posted to solve the given problem using OpenCV.
In contrast to good questions, Raymond basically says that bad questions are uninformative, rude, or simple. An example of such a question is “How to remember PHP’s parameter order?” by JackOJack at this link. This is a very simple question that involves just reading the documentation for PHP. While one poster posted an answer to use IDEs with plug-ins for coding in PHP, another poster said to simply RTFM. I would actually agree to RTFM because part of learning a new language is to simply memorize the syntax of that language.
Stack Overflow is only as useful as what content the community provides to the site. Asking good questions will foster additional intelligence in the community while bad questions simply waste search results when trying to find good solutions to given problems. To better the community of crowd source help, we should all strive to ask good questions to help others in the future.