|
| 1 | +# Contribution guideline |
| 2 | + |
| 3 | +In any contribution, please be as explicit as possible. |
| 4 | + |
| 5 | +## Bug report |
| 6 | + |
| 7 | +Use our [issue tracker](https://github.com/tpaviot/ProcessScheduler/issues) to report bugs. |
| 8 | + |
| 9 | +A *bug* is either: an unexpected result or an unexpected exception raised by Python. It can't be anything else. |
| 10 | + |
| 11 | +- choose an *explicit title* |
| 12 | + |
| 13 | +- the title is not enough:: *always* insert a short and explicit description of what's going wrong |
| 14 | + |
| 15 | +- the description *must* be followed by the shorted python script that reproduces the issue. The script must be self-contained, i.e. it can just be copied/pasted and be executed, no need for additional imports or tweaks |
| 16 | + |
| 17 | +- use the correct markdown directives to insert the python formatted code. |
| 18 | + |
| 19 | +- set the "bug" label to the issue so that it can quickly be identified as a bug. |
| 20 | + |
| 21 | +## Feature request |
| 22 | + |
| 23 | +Use our [issue tracker](https://github.com/tpaviot/ProcessScheduler/issues) to request new features. |
| 24 | + |
| 25 | +- choose an *explicit title* |
| 26 | + |
| 27 | +- insert a short/long/as you want/ description. Be as explicit as possible. Too general descriptions are difficult to read/understand |
| 28 | + |
| 29 | +- you *may* insert a shot python snippet that demonstrates what you would like to achieve using the library, but you can't currently do. |
| 30 | + |
| 31 | +- set the "enhancement" label to the issue. |
| 32 | + |
| 33 | +## Contribute demos or use cases |
| 34 | + |
| 35 | +You're welcome to contribute new jupyter notebooks. |
| 36 | + |
| 37 | +## Contribute core library code |
| 38 | + |
| 39 | +- follow the naming conventions (see below) |
| 40 | + |
| 41 | +- each commit should be described by a short and explicit commit message |
| 42 | + |
| 43 | +- submit a Pull Request (PR) |
| 44 | + |
| 45 | + |
| 46 | +## Naming Conventions |
| 47 | + |
| 48 | +- method names follow the ```undersocre_convention``` |
| 49 | + |
| 50 | +- class names follow the ```CamelCase``` naming convention |
| 51 | + |
| 52 | +- Tasks constraints names start either by Task or Tasks (with an ending 's). If the constraint target one single tasks, use the first one. If it targets two or more tasks, use the second. |
0 commit comments