2. The CheckiO Handbook
At CheckiO we aim to offer a safe environment to learn write better code, for beginners and advanced programmers alike. But developers are just like real people, emotions run high at times and we found there’s no harm in setting up a handbook which we can refer to when taming heated discussions.
2.2 Rules of the game
Own your code Share only your own code. We all go about writing code in our own unique way. Your code has your signature all over it. It makes discussing a certain solution or piece of code a whole lot easier if it’s your own. Only you know the trade-offs you’ve considered, no matter how well commented or documented the code is. Don't post inappropriate content CheckiO aspires to be a welcoming and inclusive community. Therefore we take action upon content that is:
- Pornographic, or contains nudity or mature content
- Racist, sexist, or otherwise offensive
- Gratuitously or overly sexual
- Shockingly graphic, grotesque, or obscene
- Inflammatory (e.g. name-calling, preaching, ranting, stirring up controversy, or venting frustrations)
- No spam
Please realize that if you do publish such content, it may be removed by CheckiO per our Terms of Service. The CheckiO team has a final say over whether content is appropriate or not. Something that in your opinion a ‘harmless joke’, could be perceived differently by other community members. When in doubt - maybe don’t post.
CheckiO provides some features that allow users to interact with one-another. Do not use these tools to indiscriminately send unsolicited messages to other users. Please understand that abusing these tools may result in account suspension or removal.
2.3 Tips for users
In its very essence, CheckiO is a place to train and develop your understanding of ‘good’ and ‘elegant’ code. By sharing your solutions to our code challenges and by taking the time to review code from other users, you’re actively working on making CheckiO a more interesting place. And we thank you enough for that. If all this sharing and learning together approach is new to you, here are some tips to become a valued member of our community (and gain million-trillions of followers):
- Add a bio to your profile
Tell the community who you are and what you do, so they get to know you. What do you do for a living? What does ‘good code’ mean to you? Which communities outside of the Python world do you find interesting or even engage in? Do you maybe update a blog about your thoughts on programming?
- Give examples
When sharing your solutions (on our forum), give examples of why you think this is the way to go. Elaborate on your code. A little context goes a long way in getting people to engage in a fruitful discussion with you. If you want feedback on your code, explain your work and what type of feedback you’re looking for.
- Browse the work of others
When commenting on other members’ work, make it meaningful. If you add value to others’ work, they’re more likely to be interested to listen to your opinion.
- Be constructive
When providing criticism to others, be helpful, not mean. Omit swear words, don’t question other people’s ability and refrain feedback to the code, never get personal.
Use your common sense and have fun!
2.4 Forum tips
When writing forum posts, especially posts with questions, it is good to include as many details as you can describing your subject.
- The Title
The title gives other community members an idea of what the topic is that you would like to discuss, so it pays to be descriptive. A title such as “Trouble with function in ATM mission” or “What is your favorite story?” tell others what the topic for discussion is about. On the other hand, titles like “I have a question” or “Help Please” do not describe the problem well enough and a moderator will ask for the title to be changed.
- Including Code
When asking a question about a mission, sometimes it helps to post a version of your code with the question. This can be done using the forums Markup tool. All you have to do is click the code block button and insert the code. The same can be done for comments.
- Ask an Adviser
When asking about how to solve a mission, or fix broken code, asking an adviser is the way to go. Before you submit your post, just click the for_adviser tag and the post will be marked for advisers and the fun won't be spoiled for others.
- Bug Reports
Bug reports should not be made on the forums. If you are experiencing a problem, we ask that you check with the community first to rule out any issue with the code you have written. If there is a consensus that the code should work, then file a bug report directly with an admin via the Live Help button and include a copy of the code in question. This helps us to debug your code and see what is going on.
The Python community is made up of members from around the globe with a diverse set of skills, personalities, and experiences. It is through these differences that our community experiences great successes and continued growth. When you're working with members of the community, we encourage you to follow these guidelines which help steer our interactions and strive to keep Python a positive, successful, and growing community.
A member of the Python community is:
Members of the community are open to collaboration, whether it's on PEPs, patches, problems, or otherwise. We're receptive to constructive comment and criticism, as the experiences and skill sets of other members contribute to the whole of our efforts. We're accepting of all who wish to take part in our activities, fostering an environment where anyone can participate and everyone can make a difference.
Members of the community are considerate of their peers -- other Python users. We're thoughtful when addressing the efforts of others, keeping in mind that often times the labor was completed simply for the good of the community. We're attentive in our communications, whether in person or online, and we're tactful when approaching differing views.
Members of the community are respectful. We're respectful of others, their positions, their skills, their commitments, and their efforts. We're respectful of the volunteer efforts that permeate the Python community. We're respectful of the processes set forth in the community, and we work within them. When we disagree, we are courteous in raising our issues. Overall, we're good to each other. We contribute to this community not because we have to, but because we want to. If we remember that, these guidelines will come naturally.