From 46ea1abc880fc9b84e7092307e3633a4f5887413 Mon Sep 17 00:00:00 2001 From: Marius Burkard Date: Wed, 2 Mar 2016 11:17:04 +0100 Subject: [PATCH] - re-factored coding guidelines --- CODING_NOTES.php.txt | 88 ++++++++++++++++++-------------------------- 1 file changed, 35 insertions(+), 53 deletions(-) diff --git a/CODING_NOTES.php.txt b/CODING_NOTES.php.txt index 8288a03aff..694077a7ff 100644 --- a/CODING_NOTES.php.txt +++ b/CODING_NOTES.php.txt @@ -1,46 +1,58 @@ Some guidelines for web development with php. ----------------------------------------------------- * Unix Line Breaks Only, NO windows breaks please. -* Tabs set at 4 spaces either as tabs or spaces. +* Tabs to indent lines, NO spaces * no accidental _ no spaces before or after -* error_reporting(E_ALL|E_STRICT) , yep php5 -* Magic quotes is gone in php6, get used to it now. config = magic_quotes_gpc() Everything must be quoted -* Don't use ereg,split and other old function -> gone in php 5.4 or 6 (different information on php.net) http://www.php.net/manual/en/migration53.deprecated.php -* Don't use shorttags. A Shorttag is always gone in php 5.4 +* Don't use shorttags. A Shorttag is always usw uses() or $app->load() functions. * Classes for the server are located in server/lib/classes/ and loaded with $app->uses() or $app->load() functions. - -please mark any section that need review or work on with -// TODO -* Add documentation about access levels (public, private, protected). +* please mark any section that need review or work on with /* TODO: short description */ * Make function / var names on the following way, first word lower, next word(s) first letter upper like. getFirstResult(); - -Pear coding guidelines +* always a space but NO newline before opening braces, e. g. +class abc { + public function cde() { + if($a == $b) { + return false; + } + } +} +* no spaces after function/method or control names, e. g. +function abc($x, $y) { + if($condition == true) { + $x = 2; + } +} +and NOT +function abc ($x, $y) { + if ( $condition == true ) { + + } +} //***************************************************************************** // Commenting style //***************************************************************************** -phpdoc is used for creating and autogenerating the documentation, this means that -some of the comments can be formatted to be included in documentation. -ie the source files are scanned then processed and html docs are created. The comments break down into the following types // is uses for removing lines and debug dev etc -//** and //* are used as "sub comments" /* - is used to comment out blocks + is used to comment out blocks */ + /** is used to create documentaion -* thats over -* lines -*/ + * thats over + * lines + */ If you need to block out a section then use /* function redundant_code(){ - something here + something here } */ @@ -48,26 +60,6 @@ To block out single lines use // and all // are assumed to be redundant test cod // print_r($foo); -For inline comment use //** and //* eg - -//** Decide what do do -switch($decide){ - //* blow it up - case 'baloon': - $foo->gas(+1); - // test_pressure(); << inline comment - break; - - //* Do default action - default: - do_land(); - get_gps(); - //* following grant greaceful exit - //basket_exit_crash(); - basket_exit(); - -} - Do not use the phpdoc on every function, eg /** @@ -77,25 +69,15 @@ Do not use the phpdoc on every function, eg */ >> function login($user, $pass){ -....... + } << -as this function explains its self, the following clean code will suffice +as this function is self-explaining, the following clean code will suffice >> function login($user, $pass){ -....... + } -If you do need to explain a function then put un the summary syntax eg - -/** Pass an array of values where third param is bar -* $foo['bar'] = 1; // allow a user -* $foo['bar'] = 2; // destroy user -* $foo['bar'] = -1; // recreate -*/ -public function do_something($x, $y, $foo){ -... do something interesting -} //***************************************************************************** // Where to store custom settings -- GitLab