SFML community forums

Help => General => Topic started by: Laurent on August 12, 2011, 02:22:45 pm

Title: ===== Read before posting =====
Post by: Laurent on August 12, 2011, 02:22:45 pm
Hi :)

This thread gathers some simple rules to follow before posting.

They will help you to:
- identify the problem more clearly (and sometimes solve it!) before posting
- write a helpful and relevant help message
- have more answers
- avoid the same questions again and again (what's your OS? what's the error message? can you post a minimal code?) and get the relevant answers faster
Title: ===== Read before posting =====
Post by: Laurent on August 12, 2011, 02:23:44 pm
Search before posting

Sometimes, a problem is just a lack of understanding, and can be solved very quickly by looking at the right piece of documentation, so make sure that you've carefully read the relevant parts of:
Chances are that your problem was already solved somewhere on the internet, so after checking the documentation, don't hesitate to:
Searching for a specific error message or function/class name often leads to relevant answers.
Title: ===== Read before posting =====
Post by: Laurent on August 12, 2011, 02:24:15 pm
Check basic stuff

Before posting, there are a few steps that you can perform. They may not seem to be related to your problem, but sometimes they just magically solve the problem.

So, you can:
Title: ===== Read before posting =====
Post by: Laurent on August 12, 2011, 02:24:49 pm
Choose the right post, the right title, the right forum

A lot of people end up posting in the wrong forum, and this can be irritating for admins. Moreover, people may not read your post if it's at the wrong place, and you may not receive all the help that you could get. Please post in one of the "help" forums if you ask for help -- or in one of the "bindings" forums if your post is specific to a SFML binding. Then post in the forum that corresponds to the module: if you don't know which module your problem is related to, try to find in which header/library the relevant class(es) is(are) defined.

Don't be afraid to create new topics, this is how a forum is supposed to work. Posting in an old and possibly badly related topic won't help you at all. Create your own topic, the website database won't blow up ;)

Choosing a relevant title is very important, a bad title will make other users ignore your post. So please avoid fuzzy titles such as "help!" or "I have a problem", be as precise as possible.
Title: ===== Read before posting =====
Post by: Laurent on August 12, 2011, 02:26:06 pm
Give details

Provide as much relevant information as possible to people who will help you -- it saves time and posts.
Title: ===== Read before posting =====
Post by: Laurent on August 12, 2011, 02:26:45 pm
Identify the problem (a.k.a "complete and minimal code")

At this point you're about to write your post. Many people will read it and try to help, but none of them have hours to spend on your problem. So it is a very bad idea to copy-paste pieces of your original code, or even worse, the whole thing.
Why is it a bad idea? Because:
So, let's say you have a problem when displaying a sprite. Nobody cares about how you check collisions, how you play sounds, how you export your game files, etc... It would just be a waste of time to read this code. So what you must do is to extract the relevant lines of code from your application and write a new piece of code that contains only them. We don't care if the new code doesn't do exactly what your original application does, all it has to do is to reproduce the problem.

It is important that:
While reducing the code, chances are that you solve the problem yourself: things are clearer and more obvious with less code. And if you can't find anything, we will most likely give you an answer very quickly because the code to examine is very small.
Title: ===== Read before posting =====
Post by: Laurent on August 12, 2011, 02:27:28 pm
The perfect post

Here is a perfect example of a helpful post:
http://en.sfml-dev.org/forums/index.php?topic=2208.0

The user found out that there was a problem when copying a sf::Font instance, so he wrote a small code that did it -- and nothing more. Then he provided the debugger call stack, and gave details about his OS and version of SFML.

The result is pretty clear: 2 posts and 16 minutes later the problem was identified and solved.