This is a re-write fro GraphWalker taken from How to create a Minimal, Complete, and Verifiable example

Asking for help

When asking a question about a problem caused by your code or models, you will get much better answers if you provide code or models people can use to reproduce the problem. That code should be:

  • Minimal
    Use as little code and small models as possible that still produces the same problem
  • Complete
    Provide all parts needed to reproduce the problem
  • Verifiable
    Test the code and models you’re about to provide to make sure it reproduces the problem
  • Upload
    Share the example using github.

Minimal

The more code there is to go through, the less likely people can find your problem. Streamline your example in one of two ways:

Restart from scratch. Create a new program, adding in only what is needed to see the problem. This can be faster for vast systems where you think you already know the source of the problem. Also useful if you can’t post the original code publicly for legal or ethical reasons. Divide and conquer. When you have a small amount of code and /or models, but the source of the problem is entirely unclear, start removing code a bit at a time until the problem disappears – then add the last part back. Minimal and readable

Minimal does not mean terse – don’t sacrifice communication to brevity. Use consistent naming and indentation, and include comments if needed to explain portions of the code. Most code editors have a shortcut for formatting code – find it, and use it!

Complete

Make sure all information necessary to reproduce the problem is included:

Some people might be prepared to load the parts up, and actually try them to test the answer they’re about to post. The problem might not be in the part you suspect it is, but another part entirely.

Verifiable

To help you solve your problem, others will need to verify that it exists:

Describe the problem. “It doesn’t work” is not a problem statement. Tell us what the expected behavior should be. Tell us what the exact wording of the error message is, and which line of code is producing it. Put a brief summary of the problem in the title of your question.

Eliminate any issues that aren’t relevant to the problem. If your question isn’t about a compiler error, ensure that there are no compile-time errors.

Ensure that the example actually reproduces the problem! If you inadvertently fixed the problem while composing the example but didn’t test it again, you’d want to know that before asking someone else to help.

Upload the example

Upload your example to github.com or package your example project in a zip archive. But, github is the preferred way. In your question, refer tou your project to the github repo, where you uploaded the example.

Tags: example