Skip to content

Commit 2ae491b

Browse files
committed
Add CONTRIBUTING.md
1 parent 44e95c6 commit 2ae491b

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

CONTRIBUTING.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Contributing
2+
3+
I hope that you've enjoyed reading these solutions as much as I enjoyed writing them.
4+
They're pretty fast and clean...but could you make them even *faster and cleaner*?
5+
6+
If you have thought of an improvement then please
7+
[open a pull request](https://github.com/maneatingape/advent-of-code-rust/compare).
8+
It should generally fall into one of the following two categories:
9+
10+
* **Bug Fix** Solutions try to be as general as possible but can't test for every input. Your pull
11+
request fixes an incorrect answer for your input or prevents a panic.
12+
* **Performance Improvement** Your pull request gives a significant (> 10%) performance improvement.
13+
This could be achieved by using a better algorithm, better low level optimizations
14+
or by applying the portable SIMD library.
15+
16+
Pull requests should meet the following baseline standards:
17+
18+
* Code style matches the existing code. This one is somewhat subjective but try to "fit in" by
19+
using the same naming conventions. Code should be portable, avoiding any architecture
20+
specific intrinsics.
21+
* No performance regressions. Benchmark the new solution versus the original and try to keep it
22+
within a ±5% margin of error. Bug fixes have more leniency to reduce performance.
23+
* Tests should pass.
24+
* Code is formatted using `rustfmt`.
25+
* Code is linted using `clippy`.
26+
27+
Formatting and linting can be executed by running [`just`](https://github.com/casey/just)
28+
(if installed) on the command line at the project root, or alternatively copying and pasting
29+
the commands from `justfile` into the terminal.

0 commit comments

Comments
 (0)