Challenge Authoring Guidelines #
This article contains several sets of rules, which must be read before making a challenge. The article is made to help users build correct, interesting, and qualitative challenges.
Idea #
Be sure that your challenge is original! Your idea must be original and not similar to another challenge on the application. We want each challenge on the platform to be something new, for this reason, before creating a challenge be sure that there is nothing similar on the platform.
We are not trying to copy anyone! Thus, try not to copy material from another platform. However, if your idea is taken from somewhere else, you need to make sure that you explicitly mention the author, website, or platform which you took the idea from.
Task and Requirements #
Respect the DojoCode design! Try to keep our ideas and design. As you have seen, each challenge keeps the same structure, try to keep it so each challenge follows the same idea. Do not use a coding language that DojoCode does not have available or a challenge that does not have a correct solution. If there are special cases, be sure to mention the problems of the challenge in the description.
Strict and to the point! When formulating the description and requirements of the challenge, try to be explicit and mention everything the user has to do. The more accurate a description and the requirements are, the more likely the challenge is to be solved correctly.
Don't deviate from the road! Don't ask the user to do more than solve the challenge. Don't get lost in the details, the additional requirements for the simple solution of a challenge, most of the time do not represent an advantage as much as a disadvantage of the challenge. Thus, users do not necessarily feel attracted to the respective challenge.
Try to be versatile! Build challenges that can be easily translated into different programming languages. Each user has the right to choose the language he wants, of course, it is a good idea to think about the fact that some idioms can cause problems for translators. There is a possibility that someone will translate the challenge into another programming language, and if the translator is not able to cope with the original, the quality or some details of the translation may suffer.
Testing is everything! Always use requirements that can be tested, enforced, or expressed in DojoCode terms. The user needs to use the tests, thus to learn and also to make sure that the solution is good.
Before Publishing #
- Ask and you shall receive! Every part of a challenge is important. As a creator, you will have to add the description and requirements of the challenge, add a code snippet and a valid solution for the challenge. These three must be correct so that the user fully understands what he has to do. Without them, creating a challenge is not valid.
- Ask for feedback! Every opinion counts, so don't be afraid to ask for a second opinion. The challenges are made for the user, so they are also the best people to ask if you have certain curiosities or uncertainties. There are several ways you can ask for a second opinion, such as:
- On Discord, where you can use the #challenge-creator channel.
- You can ask about certain curiosities in the comments of other useful solutions.
- You can send a message to the DojoCode Challenge admins for final feedback about the challenge.
Maintenance #
- Your work, your responsibility! As long as you are a member of the DojoCode platform, you are responsible for every challenge uploaded on the DojoCode platform. Thus, each challenge creator is responsible for:
- fixing issues,
- considering suggestions,
- answer questions.