Files
30-seconds-of-code/CONTRIBUTING.md
Rohit Tanwar 5fb7557f6e Rename
2018-01-09 04:17:15 +05:30

5.8 KiB

Contributing

30 seconds of python code is a community effort, so feel free to contribute in any way you can. Every contribution helps!

Here's what you can do to help:

  • Open issues for things you want to see added or modified.
  • Be part of the discussion by helping out with existing issues or talking on our gitter channel.
  • Submit pull requests with snippets you have created (see below for guidelines).
  • Fix typos in existing snippets, improve snippet descriptions and explanations or provide better examples.

Snippet submission and Pull request guidelines

  • DO NOT MODIFY THE README.md FILE! Make changes to individual snippet files. The travis_ci automatically builds the README.md file when your pull request is merged.
  • Snippet filenames must correspond to the title of the snippet and to the function name. For example, if your snippet is titled ### awesomeSnippet the filename should be awesomeSnippet.md and the function name should be awesomeSnippet.
    • Use camelCase, not kebab-case or snake_case.
    • Avoid capitalization of words, except if the whole word is capitalized (e.g. URL should be capitalized in the filename and the snippet title).
  • Snippet titles should have be the same as the name of the function that is present in the snippet.
    • All snippet titles must be prefixed with ### and be at the very first line of your snippet.
    • Snippet titles must be unique (although if you cannot find a better title, just add some placeholder at the end of the filename and title and we will figure it out).
    • Follow snippet titles with an empty line.
  • Snippet descriptions must be short and to the point. Try to explain what the snippet does and how the snippet works and what inbuilt features/modules are used. Remember to include what functions you are using and why.
    • Follow snippet descriptions with an empty line.
  • Snippets CAN NOT use any external modules. Only the modules and function inbuilt in python 3.6 shall be used.
  • Snippet code must be enclosed inside ```python and ```.
    • Remember to start your snippet's code on a new line below the opening backticks.
    • Please follow This Style Guide for your code.
    • Try to keep your snippets' code short and to the point. Use modern techniques and features. Make sure to test your code before submitting.
    • All snippets must be followed by one (more if necessary) test case after the code, in a new block enclosed inside ```python and ```. The syntax for this is myFunction('testInput') # 'testOutput'. Use multiline examples only if necessary.
    • Try to make your function name unique, so that it does not conflict with existing snippets.
    • Snippet functions do not have to handle errors in input, unless it's necessary (e.g. a mathematical function that cannot be extended to negative numbers should handle negative input appropriately).
  • Snippets should be short (usually below 20 - 30 lines). If your snippet is longer than that, you can still submit it, and we can help you shorten it or figure out ways to improve it.
  • Snippets should solve real-world problems, no matter how simple.
  • Snippets should be abstract enough to be applied to different scenarios.
  • It is not mandatory but highly appreciated if you provide test cases and/or performance tests.
  • You can start creating a new snippet, by using the snippet template to format your snippets.
  • Updating the README.md file should only be done by altering the scripts in the scripts folder or altering their relative static parts in the static-parts folder.