|
| 1 | +## How to contribute? |
| 2 | + |
| 3 | +#### Did you find a bug? |
| 4 | + |
| 5 | +* **Ensure the bug was not already reported** by searching on GitHub |
| 6 | + under [Project Issues](https://github.com/TheAlgorithms/Scala/issues). |
| 7 | +* Please avoid opening issues asking to be "assigned" to a particular algorithm. This merely creates unnecessary noise |
| 8 | + for maintainers. Instead, please submit your implementation in a pull request, and it will be evaluated by project |
| 9 | + maintainers. |
| 10 | +* If you are unable to find an open issue referring to the same problem, depending on the type of issue follow the |
| 11 | + appropriate steps: |
| 12 | + |
| 13 | +#### Do you want to contribute to the documentation? |
| 14 | + |
| 15 | +- Please read the documentation in |
| 16 | + here [Contributing to the Documentation](https://github.com/TheAlgorithms/Scala/blob/master/CONTRIBUTING.md), |
| 17 | + [open a new one issue](https://github.com/TheAlgorithms/Scala/issues/new), make changes and then create a pull |
| 18 | + request, it will be put under review and accepted if it is appropriate. |
| 19 | + |
| 20 | +#### Do you want to add a new feature? |
| 21 | + |
| 22 | +* [Open a new one issue](https://github.com/TheAlgorithms/Scala/issues/new). Be sure to include a **title and a clear |
| 23 | + description** and a **test case** demonstrating the new feature that you want to add to the project. |
| 24 | + |
| 25 | +##### Contributing to Algorithms (Make sure to check all the points below before opening a PR) |
| 26 | + |
| 27 | +* Make sure you follow proper coding standards and naming conventions. |
| 28 | + * Please |
| 29 | + use [Binary Search Implementation](https://github.com/TheAlgorithms/Scala/blob/master/src/main/scala/Search/BinarySearch.scala) |
| 30 | + * |
| 31 | + and [Binary Search Test](https://github.com/TheAlgorithms/Scala/blob/master/src/test/scala/Search/BinarySearchSpec.scala) |
| 32 | + as a reference. |
| 33 | +* Add the algorithm implementation as an object and not as a class |
| 34 | +* Add proper comments about the algorithm implementation and the functions present in the algorithm |
| 35 | +* Add a test spec in the test folder under the same domain as that of your algorithm. **PRs without a test spec would |
| 36 | + not be accepted!** |
| 37 | +* Add at least 1 positive and 1 negative test in the test spec |
| 38 | +* Raise a PR for the algorithm object file and the test spec |
| 39 | +* [How to write a test case in Scala](http://www.scalatest.org/user_guide/writing_your_first_test) |
| 40 | + |
| 41 | +#### Contributing to Tests |
| 42 | + |
| 43 | +* You can contribute tests for a specific algorithm |
| 44 | +* Add as many tests as you can and try to cover all the borderline test cases |
| 45 | +* Open a PR with for your testSpec |
| 46 | +* Make sure you are not adding redundant test cases |
| 47 | +* If you see that the algorithm fails for a particular test case, then open an issue with proper explanation. |
| 48 | +* [How to write a test case in Scala](http://www.scalatest.org/user_guide/writing_your_first_test) |
| 49 | + |
| 50 | +#### Do you want to fix a bug? |
| 51 | + |
| 52 | +* [Open a new issue](https://github.com/TheAlgorithms/Scala/issues/new).Be sure to include a **title and a clear |
| 53 | + description** and a **test case** demonstrating the expected behaviour that is not occurring. |
| 54 | + |
| 55 | +#### **Do you have questions about the source code?** |
| 56 | + |
| 57 | +* Ask any question about how to use the repository in |
| 58 | + the [TheAlgorithms room in GITTER](https://gitter.im/TheAlgorithms/community?source=orgpage#) or |
| 59 | + [open a new one issue](https://github.com/TheAlgorithms/Scala/issues/new) |
| 60 | + |
| 61 | +:+1::tada: That's all you need to know about the process now it's your turn to help us improve the repository, thank you |
| 62 | +again! :+1::tada: |
0 commit comments