Sophie

Sophie

distrib > Mandriva > 2010.1 > x86_64 > by-pkgid > 7eb138a21d8d5b828f98b5f39492e125 > files > 5

egroupware-1.8.001.20101201-2mdv2010.1.noarch.rpm

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 :)