mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-24 08:53:37 +01:00
131 lines
3.4 KiB
Plaintext
131 lines
3.4 KiB
Plaintext
1) Format your code so that we can read it, please!
|
|
|
|
2) Use tabs for formatting, NOT SPACES. Tabs create smaller files and editors allow
|
|
developers to view a tab as however many spaces as they prefer. Spaces do not allow this.
|
|
There is one exception (see #11 below).
|
|
|
|
3) Use ' instead of " for strings. This is a performance issue, and prevents
|
|
a lot of inconsistent coding styles.
|
|
|
|
4) Comments go on the line ABOVE the code, NOT to the right of the code!
|
|
|
|
5) For each section of code put a section divider with basic explanation of the following
|
|
code/functions. It should look like this:
|
|
|
|
/****************************************************************************\
|
|
* These functions are used to pick my nose *
|
|
\****************************************************************************/
|
|
|
|
6) Do not document every bit of code in comments. PHP is an interpreted language and it will be
|
|
nasty on performance.
|
|
|
|
7) Use switch statements where many elseif's are going to be used. Switch is faster and I like it
|
|
better!
|
|
|
|
8) 'If' statements need to use the following format:
|
|
|
|
if ($var == 'example')
|
|
{
|
|
echo 'This is only an example';
|
|
}
|
|
else
|
|
{
|
|
echo 'This is not a test. This is the real thing';
|
|
}
|
|
|
|
Do NOT make if statements like this:
|
|
|
|
if ($var == 'example'){ echo 'An example'; }
|
|
|
|
All other styles are not to be used. This is it. Use it or I will personally come and nag you to
|
|
death.
|
|
|
|
9) ALL 'if' statements MUST have matching { } (brackets). Do NOT create 'if' statements like this:
|
|
|
|
if ($a == b)
|
|
dosomething();
|
|
|
|
or:
|
|
|
|
if ($a == b) dosomething();
|
|
|
|
They make the code more difficult to read and follow.
|
|
|
|
10) class/function format:
|
|
|
|
class testing
|
|
{
|
|
function print_to_screen()
|
|
{
|
|
if($var == 'example')
|
|
{
|
|
echo 'This is only an example';
|
|
}
|
|
else
|
|
{
|
|
echo 'This is not a test. This is the real thing';
|
|
}
|
|
}
|
|
}
|
|
|
|
11) Associative arrays must be written in the following manner:
|
|
|
|
$array = array(
|
|
'var' => 'value',
|
|
'var2' => 'value2'
|
|
);
|
|
|
|
OR:
|
|
|
|
$array = array
|
|
(
|
|
'var' => 'value',
|
|
'var2' => 'value2'
|
|
);
|
|
|
|
Note that spaces are preferred around the '=>'. This is because only tabs
|
|
on the left side are guaranteed to line up correctly using different
|
|
tabstops.
|
|
|
|
12) Use the long format for <?php. Do NOT use <?.
|
|
|
|
13) All code should start with 1 tab. Example:
|
|
|
|
<?php
|
|
dosomething();
|
|
if ($a)
|
|
{
|
|
dosomemorestuff();
|
|
}
|
|
|
|
NOT:
|
|
|
|
<?php
|
|
dosomething();
|
|
if ($a)
|
|
{
|
|
dosomemorestuff();
|
|
}
|
|
|
|
14) Use lower case for variable and function names. No stubbly-case (mixed-case) code.
|
|
|
|
15) (int)$var is preferred vs. intval($var). Also, is_int()/is_string()/is_array()
|
|
should be used instead of gettype() where possible.
|
|
|
|
16) str_ functions should be used instead of ereg_ for simple text replacement, etc.
|
|
For example, ereg_replace(';','',$string) is much slower than str_replace(';','',$string.
|
|
Of course, for complicated regular expressions, you may still need ereg_.
|
|
|
|
17) Use the api function, copyobj($oldobject,$newobject), instead of
|
|
$newobject = $oldobject. This is for performance when using php5.
|
|
|
|
18) Try to avoid creating new objects when the api-created ones will work.
|
|
This is a performance issue. You might also be able to use copyobj() and then
|
|
call the constructor of the class if another version of the object exists
|
|
already.
|
|
|
|
19) Do not use, e.g., global $var; unless absolutely necessary. Please
|
|
consider developing with register_globals=off to understand why.
|
|
|
|
20) Thanks for following these rules :)
|