CodingStandards » History » Version 31
« Previous -
Version 31/64
(diff) -
Next » -
Current version
Anonymous, 03/21/2007 07:37 PM
traduction en anglais ( a finir si ca interesse quelqu'un, j'ai un peu de mal)
One tabulation OR X spaces
{{{
// base level
// level 1
// level 2
// level 1
// base level
?>
}}}
STATE : to discuss
TODO : review all code
Control structuresMultiple conditions in several idented lines
{{{
if ($test1){
for ($i=0;$i<$end;$i++){
echo "test ".( $i<10 ? "0$i" : $i )."<br>";
}
}
if ($a==$b
| ($c==$d
&& $e==$f)){
}
switch ($test2){
case 1 :
echo "Case 1";
break;
case 2 :
echo "Case 2";
break;
default :
echo "Default Case";
break;
}
?>
}}}
STATE : accepted
TODO : review all code
Including filesinclude_once in order to include the file once and to raise warning if file does not exists
{{{
include_once(GLPI_ROOT."/inc/includes.php");
}}}
STATE : accepted
TODO : require_once , include, require -> include_once
PHP tagsShort tag not allowed. Use complet tags.
{{{
// code
?>
}}}
STATE : accepted
TODO : nothing
FunctionsFunction names should be written in camelBack, for example:
{{{
function userName()
{
}
?>
}}}
STATE : accepted
TODO : check all functions
ClassClass names should be written in CamelCase, for example:
{{{
class ExampleAuthentification
{
}
?>
}}}
STATE : accepted
TODO : check all classes
VariablesVariable names should be as descriptive and short as possible.
Normal variables should be written in lower case. In case of multiple words use the _ separator.
Global variables should be written in UPPER case. In case of multiple words use the _ separator.
Example:
{{{
$user = 'glpi';
$users = array('glpi', 'glpi2', 'glpi3');
$users_groups = array('glpi', 'glpi2', 'glpi3');
$CFG_GLPI=array();
?>
}}}
STATE : accepted
TODO :
globals : $cfg_glpi $db $phproot $HTMLRel $lang (glpi_trad) $cfg_glpi_plugins $dbocs $pdf_ (maybe not real global) $plugins_hooks -> DONE
+ check some global variables need to be passed as arguments
Variable typesVariable types for use in DocBlocks for Doxygen:
Type | Description | |||
mixed | A variable with undefined (or multiple) type. | |||
integer | Integer type variable (whole number). | |||
float | Float type (point number). | |||
boolean | Logical type (true or false). | |||
string | String type (any value in "" or ' '). | |||
array | Array type. | |||
object | Object type. | |||
ressource | Resource type (returned by for example mysql_connect()). |
Là, il faudrait un exemple pour voir ce que que l'on veut obtenir.
STATE : waiting for choice...
TODO : check all source code
quotes / double quotesIn which way can we use " or ' in glpi code :
by example :
{{{
echo "dqmkdqmsl"
}}}
or
{{{
echo 'kjlkj'
}}}
After reading bench about strings : http://www.estvideo.net/dew/index/page/phpbench
- Best choice seems to be simple quote.
ex : echo 'toto' not echo "toto"
- il faut concaténer les variables avec les chaines (je n'arrive pas a traduire cette phrase).
ex : echo 'toto'.$test.' est vivant.'
- Best choice between echo and print is echo.
- Best choice to construct string before make echo, result : decrease number of use echo.
STATE : waiting for choice...
TODO : check all source code
FilesName in lower case.
Maximum line length : 100 characters
STATE : accepted
TODO : check all files
ConstantsCapital letter :
{{{
COMPUTER_TYPE
}}}
STATE : accepted
TODO : check all constants
MySQLRequests must be written onto several lines, a MySQL item by line.
All MySQL words in UPPER case.
{{{
SELECT *
FROM `glpi_computers`
WHERE id='32'
AND ( name LIKE '%toto%'
OR name LIKE '%tata%' )
ORDER BY date_mod ASC
LIMIT 1
}}}
STATE : accepted
TODO : check all source code