From 4165e4e8b96eae9a2e5c4e91c8d05306b3d6f917 Mon Sep 17 00:00:00 2001 From: Oliver Booth Date: Sun, 19 Apr 2020 16:29:31 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9A=20Add=20CONTRIBUTING.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTING.md | 29 +++++++++++++++++++++++++++++ README.md | 3 +++ 2 files changed, 32 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..edf02e4 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,29 @@ +## How you can contribute +Contributions to this project are always welcome. If you spot a bug, or want to request a new extension method, open a new issue or submit a pull request. + +### Pull request guidelines +This project uses C# 8.0 language features, and adheres to the following analyzers: + +- Rozlynator +- FxCop +- StyleCop + +There is an `.editorconfig` and an analyzer `ruleset` file included in this repository. For quick and painless pull requests, ensure that these analyzers do not throw warnings. + +### Code style +Below are a few pointers to which you may refer, but keep in mind this is not an exhaustive list: + +- Use C# 8.0 features where possible +- Try to ensure code is CLS-compliant +- Follow all .NET guidelines for naming conventions +- Make full use of XMLDoc and be thorough - but concise - with all documentation. +- Ensure that no line exceeds 120 characters in length +- Do NOT include file headers in any form +- Declare `using` directives within namespace scope +- Try to avoid using exceptions for flow control + +### Tests +When introducing a new extension method, you must ensure that you have also defined a unit test that asserts its correct behavior. The code style guidelines and code-analysis rules apply to the `X10D.Tests` equally as much as `X10D`, although documentation may be briefer. Refer to existing tests as a guideline. + +### Disclaimer +In the event of a code style violation, a pull request may left open (or closed entirely) without merging. Keep in mind this does not mean the theory or implementation of the method is inherently bad or rejected entirely (although if this is the case, it will be outlined) \ No newline at end of file diff --git a/README.md b/README.md index 8f111b4..a07248d 100644 --- a/README.md +++ b/README.md @@ -254,5 +254,8 @@ var item = random.OneOf(arr); var shuffled = arr.Shuffle(random); ``` +## Contributing +Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md). + ## License X10D is released under the MIT License. See [here](https://github.com/oliverbooth/X10D/blob/master/LICENSE.md) for more details. \ No newline at end of file