THE ANATOMY OF A GOOD QUESTION
Whether you’re an Austin Coding Academy student or a professional systems engineer hacking on the Linux kernel, there will always come a time when you, as a programmer, need to ask someone for help. While the saying “There’s no such thing as a dumb question” is certainly something I believe, I also believe some questions are constructed better than others. Well constructed questions allows those answering to respond quickly and directly.
So whether you’re asking an Austin Coding Academy instructor for assignment help, or asking the wizards of Stack Overflow to work their magic and answer your questions, following this guideline will help you quickly receive feedback you can learn from.
CLEARLY STATE WHAT YOU WANT YOUR CODE TO DO
Showing someone nonfunctional code with the only accompanying message resembling “It doesn’t work” or “I need help” doesn’t convey any useful information. If you’ve come to someone for help, they already know it doesn’t work. Furthermore, the people you’re asking probably have no clue what it means for your code to “work” since they don’t know why you’re making it. Tell us what the end result would be if your code was working correctly.
CLEARLY STATE ANY ERROR MESSAGES YOU RECEIVED
Error messages are extremely useful in diagnosing a problem. If running your program resulted in an error being displayed, copy and paste the error text into your question.
MAKE AN EDUCATED GUESS
Even if you don’t understand exactly why you’re having an issue, sometimes it’s still possible to form a hypothesis explaining the issue. Sharing your hypothesis serves as a great learning opportunity — if your hypothesis is correct, we can guide you into applying the hypothesis to solving your problem. If your hypothesis is incorrect, we can correct the deeper misunderstanding the hypothesis stemmed from.
BUT WHAT IF I DON’T HAVE ANY CODE WRITTEN?
Getting started is sometimes the hardest part of writing a program. If you don’t know how to get started, ask someone for a push in the right direction. Usually not being able to start is an organizational problem. Programming is complex, and the issues that programming solves are complex. Taking that complexity and boiling it down to its simplest elements is a fundamental programming skill which takes time to develop.
EXAMPLES OF GOOD QUESTIONS
Here are some good programming questions to serve as a reference
Originally published at www.austincodingacademy.com on April 27, 2016.