Skip to content

Latest commit

 

History

History
51 lines (32 loc) · 3.22 KB

CONTRIBUTING.md

File metadata and controls

51 lines (32 loc) · 3.22 KB

Contributing guidelines

Before contributing

Welcome to TheAlgorithms/Elixir! Before sending your pull requests, make sure that you read the whole guidelines. If you have any doubt on the contributing guide, please feel free to state it clearly in an issue or ask the community in Gitter.

Contributing

Contributor

We are very happy that you consider implementing algorithms and data structure for others! This repository is referenced and used by learners from all over the globe. Being one of our contributors, you agree and confirm that:

  • You did your work - no plagiarism allowed
    • Any plagiarized work will not be merged.
  • Your work will be distributed under MIT License once your pull request is merged
  • You submitted work fulfils or mostly fulfils our styles and standards

New implementations are welcome! For example, new solutions for a problem, different representations for a graph data structure or algorithm designs with different complexity.

Improving comments and writing proper tests are also highly welcome.

Contribution

We appreciate any contribution, from fixing a grammar mistake in a comment to implementing complex algorithms. Please read this section if you are contributing your work.

Your contribution will be tested by our automated testing on Travis CI to save time and mental energy. After you have submitted your pull request, you should see the Travis tests start to run at the bottom of your submission page. If those tests fail, then click on the details button try to read through the Travis output to understand the failure. If you do not understand, please leave a comment on your submission page and a community member will try to help.

Coding Style

We want your work to be readable by others; therefore, we encourage you to note the following:

  • Original code submission require module definitions or comments to describe your work.
  • Avoid importing external libraries for basic algorithms. Only use those libraries for complicated algorithms.
  • If you need a third party module that is not in the file mix.exs, please add it to that file as part of your submission.
  • Format your work, or it will fail the tests.

Other Standards While Submitting Your Work

  • Strictly use snake_case (underscore_separated) in your file_name, as it will be easy to parse in future using scripts.

  • If you have modified/added code work, make sure the code compiles before submitting.

  • If you have modified/added documentation work, ensure your language is concise and contains no grammar errors.

  • Do not update the README.md or DIRECTORY.md file which will be periodically autogenerated by our Travis CI processes.

  • Add a corresponding explanation to Algorithms-Explanation (Optional but recommended).

  • Most importantly,

    • Be consistent in the use of these guidelines when submitting.
    • Join Gitter now!
    • Happy coding!

Writer @raksonibs, Nov 2019.