Language and development rules: Difference between revisions

Jump to navigation Jump to search
m
Line 71: Line 71:


* Coding style to use is the PSR-2 (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md). Only rules tagged "MUST" are currently required. So note however the exceptions:
* Coding style to use is the PSR-2 (https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md). Only rules tagged "MUST" are currently required. So note however the exceptions:
** Length of line: PSR-2 mention we can go up to 120 characters on same line, this is a soft limit. It is better to have long lines instead of long page with code content that is just data declaration and does not contain any logic. However, we introduced a hard limit of '''1000''' characters (having line larger that this will return errors on Continuous Integration tests).  
** Length of line: PSR-2 mention we can't go up to 120 characters on same line, this is a soft limit. It is better to have long lines instead of long page with code content that is just data declaration and does not contain any logic. However, we introduced a hard limit of '''1000''' characters (having line larger than this may return errors on Continuous Integration tests).  
** Tabs are allowed: The other exception is that we don't replace systematically the tabs with spaces. Using tabs is more convenient for most editors/developers. Also using spaces breaks some auto-format features (like Eclipse autoformat feature on some Eclipse version). For the moment, the best setup is "Keep spaces/tabs as it is", however, you can activate the option "Remove spaces at end of lines".
** Tabs are allowed: The other exception is that we don't replace systematically the tabs with spaces. Using tabs is more convenient for most editors/developers. Also using spaces breaks some auto-format features (like Eclipse autoformat feature on some Eclipse version). For the moment, the best setup is "Keep spaces/tabs as it is", however, you can activate the option "Remove spaces at end of lines".
** Note 1: The following rule are very important to follow:
** Note 1: The following rule are very important to follow:
Line 77: Line 77:
*** Smart tags PHP are not used. PHP code section must start with '''<?php'''
*** Smart tags PHP are not used. PHP code section must start with '''<?php'''
** Note 2: You can use the file '''dev/codesniffer/ruleset.xml''' as rule file to control coding style with PHPCodeSniffer.
** Note 2: You can use the file '''dev/codesniffer/ruleset.xml''' as rule file to control coding style with PHPCodeSniffer.
** Note 3: You may note that current code is not yet compliant with the PSR-2. The reason is that we must "now" follow the "MUST" rules of PSR-2, but it wasn't in the past. So feel free to change coding style to match new rules if you find such cases.
** Note 3: You may note that current code is not yet compliant with the PSR-2. The reason is that we must "now" follow the "MUST" rules of PSR-2, but it wasn't in the past. So feel free to change coding style to match new rules (keep in mind the 2 exceptions) if you find such cases.


== Classes and properties structures ==
== Classes and properties structures ==

Navigation menu