DeepCode and Snyk joined forces. Find out more in our blog.

SummerAcademy on Debugging - 2.1.2 Google, StackOverflow, and others

Tuesday, August 18th, 2020

Find the companion YouTube Video here.

Be honest, what do you do when you see an error message? You copy and paste it into your browser’s search bar and ask Dr. Google (this was even researched - see here). Very often help is found at StackOverflow. These resources are important enough, to share some best practices.

2.1.2.1 Find Help

  1. The more specific the search terms, the better results you get.
  2. Try synonyms, for instance, “freezes” in addition to “hangs,” or “grayed” in addition to “disabled.”
  3. There are search engines for code in open-source, such as Black Duck Open Hub. So, if you want to check how to use a certain construction, give it a try.
  4. Like all search engines, in StackOverflow, there are some search modifiers like hascode:1 or isanswered:1 - check them out here

2.1.2.2 Ask for Help

We all have seen a flame war breaking over someone asking a question. Most of the time, the question is hard to understand, not reproducible, or at the wrong forum.

  1. Formulate your question with care. Ask a colleague to read and give you feedback. Follow the short, self-contained, correct (compilable and runable) example (SSCCE) (see SSCCE)
  2. Try to reproduce your problem only with the information you have given. Take nothing for granted.
  3. Find a forum that supports your language, your framework, the level of your question.
  4. Run a tool like Grammarly over the question to ensure good spelling and grammar. The looks are important :-)
  5. Use correct tags

We would suggest you have a look at the StackOverflow or Eric Raymond resource below before asking a question. It is worth a few minutes.

2.1.2.3 Do Help

Forums are not a one-way street. They need your participation, too. We see three main reasons to spend some time answering forum questions:

  1. Train your debugging skills by rebuilding problems and solve them.
  2. Train your skills as a technical writer. Now that you have the solution in your mind, you need to formulate so that others can understand. Sounds trivial, believe us, it isn’t.
  3. Build a reputation. We know quite a few people you got their current job because being active in a community.

When helping, try to pick something that is “your size” so that you experience some successes (motivation!!). Increase complexity over time, no need to start as Einstein (neither did Einstein by the way).

Also, sometimes sharing things that were not explicitly asked for is also good (like taking away the question before it came up). Sharing tools, observations, best practices…

Key Take-Aways

  • When searching, be as specific as possible.
  • Use special flags provided by specialized search engines such as StackOverflow.
  • The self-help tools of the community work great but it seems we often forget the netiquette.

Resources

Black Duck Open Hub

SSCCE

stackoverflow How do I ask a good question? Eric Raymond How To Ask Questions The Smart Way