[CONTRIBUTING.md] Include all policies and link to the Wiki
This commit is contained in:
parent
392e3ff6c7
commit
d987ceec73
1 changed files with 41 additions and 41 deletions
|
@ -1,47 +1,47 @@
|
||||||
### Pull request policy
|
### Pull request policy
|
||||||
Fix one issue per pull request.
|
|
||||||
Squash commits before opening a pull request.
|
|
||||||
Respect the coding style policy.
|
|
||||||
Name your PR like the following :
|
|
||||||
|
|
||||||
* When correcting a single bridge, use `[BridgeName] Feature`.
|
* [Fix one issue per pull request](https://github.com/RSS-Bridge/rss-bridge/wiki/Pull-request-policy#fix-one-issue-per-pull-request)
|
||||||
* When fixing a problem in a specific file, use `[FileName] Feature`.
|
* [Respect the coding style policy](https://github.com/RSS-Bridge/rss-bridge/wiki/Pull-request-policy#respect-the-coding-style-policy)
|
||||||
* When fixing a general problem, use `category : feature`.
|
* [Properly name your commits](https://github.com/RSS-Bridge/rss-bridge/wiki/Pull-request-policy#properly-name-your-commits)
|
||||||
|
* When fixing a bridge (located in the `bridges` directory), write `[BridgeName] Feature` <br>(i.e. `[YoutubeBridge] Fix typo in video titles`).
|
||||||
|
* When fixing other files, use `[FileName] Feature` <br>(i.e. `[index.php] Add multilingual support`).
|
||||||
|
* When fixing a general problem that applies to multiple files, write `category: feature` <br>(i.e. `bridges: Fix various typos`).
|
||||||
|
|
||||||
Note that all pull-requests should pass the unit tests before they can be merged.
|
Note that all pull-requests must pass all tests before they can be merged.
|
||||||
|
|
||||||
### Coding style
|
### Coding style
|
||||||
|
|
||||||
Use `camelCase` for variables and methods.
|
* [Whitespace](https://github.com/RSS-Bridge/rss-bridge/wiki/Whitespace)
|
||||||
Use `UPPERCASE` for constants.
|
* [Add a new line at the end of a file](https://github.com/RSS-Bridge/rss-bridge/wiki/Whitespace#add-a-new-line-at-the-end-of-a-file)
|
||||||
Use `PascalCase` for class names. When creating a bridge, your class and PHP file should be named `MyImplementationBridge`.
|
* [Do not add a whitespace before a semicolon](https://github.com/RSS-Bridge/rss-bridge/wiki/Whitespace#add-a-new-line-at-the-end-of-a-file)
|
||||||
Use tabs for indentation.
|
* [Do not add whitespace at start or end of a file or end of a line](https://github.com/RSS-Bridge/rss-bridge/wiki/Whitespace#do-not-add-whitespace-at-start-or-end-of-a-file-or-end-of-a-line)
|
||||||
Add an empty line at the end of your file.
|
* [Indentation](https://github.com/RSS-Bridge/rss-bridge/wiki/Indentation)
|
||||||
|
* [Use tabs for indentation](https://github.com/RSS-Bridge/rss-bridge/wiki/Indentation#use-tabs-for-indentation)
|
||||||
Use `''` to encapsulate strings, including in arrays.
|
* [Maximum line length](https://github.com/RSS-Bridge/rss-bridge/wiki/Maximum-line-length)
|
||||||
Prefer lines shorter than 80 chars, no line longer than 120 chars.
|
* [The maximum line length should not exceed 80 characters](https://github.com/RSS-Bridge/rss-bridge/wiki/Maximum-line-length#the-maximum-line-length-should-not-exceed-80-characters)
|
||||||
PHP constants should be in lower case (`true, false, null`...)
|
* [Strings](https://github.com/RSS-Bridge/rss-bridge/wiki/Strings)
|
||||||
|
* [Whenever possible use single quoted strings](https://github.com/RSS-Bridge/rss-bridge/wiki/Strings#whenever-possible-use-single-quote-strings)
|
||||||
|
* [Add spaces around the concatenation operator](https://github.com/RSS-Bridge/rss-bridge/wiki/Strings#add-spaces-around-the-concatenation-operator)
|
||||||
* Add spaces between the logical operator and your expressions (not needed for the `!` operator).
|
* [Use a single string instead of concatenating](https://github.com/RSS-Bridge/rss-bridge/wiki/Strings#use-a-single-string-instead-of-concatenating)
|
||||||
* Use `||` and `&&` instead of `or` and `and`.
|
* [Constants](https://github.com/RSS-Bridge/rss-bridge/wiki/Constants)
|
||||||
* Add space between your condition and the opening bracket/closing bracket.
|
* [Use UPPERCASE for constants](https://github.com/RSS-Bridge/rss-bridge/wiki/Constants#use-uppercase-for-constants)
|
||||||
* Don't put a space between `if` and your bracket.
|
* [Keywords](https://github.com/RSS-Bridge/rss-bridge/wiki/Keywords)
|
||||||
* Use `elseif` instead of `else if`.
|
* [Use lowercase for `true`, `false` and `null`](https://github.com/RSS-Bridge/rss-bridge/wiki/Keywords#use-lowercase-for-true-false-and-null)
|
||||||
* Add new lines in your conditions if they are containing more than one line.
|
* [Operators](https://github.com/RSS-Bridge/rss-bridge/wiki/Operators)
|
||||||
* Example :
|
* [Operators must have a space around them](https://github.com/RSS-Bridge/rss-bridge/wiki/Operators#operators-must-have-a-space-around-them)
|
||||||
|
* [Functions](https://github.com/RSS-Bridge/rss-bridge/wiki/Functions)
|
||||||
```PHP
|
* [Parameters with default values must appear last in functions](https://github.com/RSS-Bridge/rss-bridge/wiki/Functions#parameters-with-default-values-must-appear-last-in-functions)
|
||||||
if($a == true && $b) {
|
* [Calling functions](https://github.com/RSS-Bridge/rss-bridge/wiki/Functions#calling-functions)
|
||||||
print($a);
|
* [Do not add spaces after opening or before closing bracket](https://github.com/RSS-Bridge/rss-bridge/wiki/Functions#do-not-add-spaces-after-opening-or-before-closing-bracket)
|
||||||
} else if(!$b) {
|
* [Structures](https://github.com/RSS-Bridge/rss-bridge/wiki/Structures)
|
||||||
|
* [Structures must always be formatted as multi-line blocks](https://github.com/RSS-Bridge/rss-bridge/wiki/Structures#structures-must-always-be-formatted-as-multi-line-blocks)
|
||||||
$a = !$a;
|
* [If-Statement](https://github.com/RSS-Bridge/rss-bridge/wiki/if-Statement)
|
||||||
$b = $b >> $a;
|
* [Use `elseif` instead of `else if`](https://github.com/RSS-Bridge/rss-bridge/wiki/if-Statement#use-elseif-instead-of-else-if)
|
||||||
print($b);
|
* [Do not write empty statements](https://github.com/RSS-Bridge/rss-bridge/wiki/if-Statement#do-not-write-empty-statements)
|
||||||
|
* [Do not write unconditional if-statements](https://github.com/RSS-Bridge/rss-bridge/wiki/if-Statement#do-not-write-unconditional-if-statements)
|
||||||
} else {
|
* [Classes](https://github.com/RSS-Bridge/rss-bridge/wiki/Classes)
|
||||||
print($b);
|
* [Use PascalCase for class names](https://github.com/RSS-Bridge/rss-bridge/wiki/Classes#use-pascalcase-for-class-names)
|
||||||
}
|
* [Do not use final statements inside final classes](https://github.com/RSS-Bridge/rss-bridge/wiki/Classes#do-not-use-final-statements-inside-final-classes)
|
||||||
```
|
* [Do not override methods to call their parent](https://github.com/RSS-Bridge/rss-bridge/wiki/Classes#do-not-override-methods-to-call-their-parent)
|
||||||
|
* [Casting](https://github.com/RSS-Bridge/rss-bridge/wiki/Casting)
|
||||||
|
* [Do not add spaces when casting](https://github.com/RSS-Bridge/rss-bridge/wiki/Casting#do-not-add-spaces-when-casting)
|
||||||
|
|
Loading…
Reference in a new issue