Upload
primo-armijo
View
6
Download
0
Embed Size (px)
Citation preview
Estándar de codificación
Tabla de contenidos
Indenting and Line Length
Control Structures
Function Calls
Class Definitions
Function Definitions
Variables
Strings
Arrays
Comments
Including Code
PHP Code Tags
Header Comment Blocks
Files
Referencias
Indenting and Line Length
Se utilizan 4 espacios sin etiquetas (tabs)
Ejemplo:
function prueba()
{
$primera=1;
$segunda=2;
$tercera=3;
echo $primera+$segunda+$tercera;
}
Control Structures
if, for, while, switch, etc
Ejemplo:
-IF
if ((condition1) || (condition2)) { action1;
} elseif ((condition3) && (condition4)) { action2;
} else { defaultaction;
}
Control Structures
Cuando el renglón de condiciones es grande se recomienda , separar cada condición en un renglón
if (($condition1 || $condition2) && $condition3 && $condition4) { //code here}
IF recortado
$a = $condition1 && $condition2 ? $foo : $bar;
Control Structures
CASE
switch ($condition) {
case 1:
$action1;
break;
case 2:
$action2;
break;
default:
$defaultaction;
break;
}
Function Calls
Las funciones se deben de llamar sin espacios entre el nombre de la función, el paréntesis de apertura, y el primer parámetro, debe de haber un espacio entre cada parámetro, y ningún espacio entre el último parámetro, el paréntesis de cierre, y el punto y coma
Ejemplo 1 :
$var = foo($bar, $baz, $quux);
Function Calls
Ejemplo 2:
$short = foo($bar);
$long_variable = foo($baz);
Ejemplo 3:
$this->callSomeFunction('param1', 'second', true);
$this->callSomeFunction('parameter2', 'third', false);
$this->callSomeFunction('3', 'verrrrrrylong', true);
Function Calls
El estándar de codificación admite 80 caracteres como máximo por línea, el llamado de la función seria así:
$this->someObject->subObject->callThisFunctionWithALongName( $parameterOne, $parameterTwo, $aVeryLongParameterThree);
Class Definitions
Si el nombre de la clase se compone de varias palabras, la primer letra de cada palabra debe estar en mayúscula, se puede utilizar guión bajo para separar
Declaraciones de clase tienen su llave de apertura en una nueva línea, es necesario poner comentarios acerca de la clase
Class Definitions
Ejemplo
/**
* clase de prueba
*
* @category CategoryName
* @package PackageName
* @author Original Author <[email protected]>
* @license http://www.php.net/license/3_01.txt PHP License 3.01
* @link http://www.google.com
*
*/
class Foo_Bar
{
//... code goes here
}
Function Definitions
Los nombres de las funciones sólo pueden contener caracteres alfanuméricos. No se permiten los guiones bajos (_) y no se recomiendan los números
Los nombres deben ser descriptivos de su propósito y comportamiento.
En la OOP, los métodos de acceso a las variables estáticas o instancias, deben ser precedidos por las palabras "get" o "set".
Function Definitions
Ejemplo
/**
* prueba funcion de prueba()
*
* @return 0
*/
function prueba()
{
$primera=1;
$segunda=2;
$tercera=3;
echo $primera+$segunda+$tercera;
}
Variables
Los nombres de las variables deben contener caracteres alfanuméricos. No se permiten los guiones bajos (_) y no se recomiendan los números.
Las variables de instancia que se declaran con los modificadores "private" o "protected", deben tener en el primer carácter un guión bajo (_), mientras que las variables declaradas como "public" no pueden iniciar con un guión bajo.
Variables
Los nombres de las variables deben empezar con una letra minúscula.
Los nombres de variables deben ser descriptivos de los datos que el programador almacena en ellas. No se aconsejan nombres de variables como " $i " o " $n " excepto para el contexto de loops o ciclos pequeños.
Constans
Los nombres de las constantes pueden contener caracteres alfanuméricos, guiones bajos (_) y números.
Todas las letras deben estar en mayúscula.
La separación entre palabras debe hacerse usando el guión bajo (_).
Las constantes deben ser definidas como miembros de una clase usando el modificador "const".
No se recomienda definir constantes con alcance global (utilizando la función "define").
Strings
Cuando un string no contiene sustitución de caracteres, debe usar comilla simple como delimitador.
$a = 'Un texto de ejemplo';
Cuando un string contiene apóstrofes, se permite delimitar dicho string con "comillas dobles".
$sql = "SELECT `img` FROM `tweets` where `uid` = '1'";
Arrays
No se permiten los números negativos como índices.
Los índices en arreglos de índices numéricos, pueden inciar con cualquier valor no negativo, pero no se recomienda que inicien con un valor distinto al 0.
Para mejorar la legibilidad, se debe agregar un espacio después de cada coma de separación de los índices en la declaración del “array”:
$diasArreglo = array(1, 2, 3, 4, 5, 6, 7);
Arrays
Se pueden hacer declaraciones de los arrays en varias líneas, siempre y cuando los inicios estén alineados (identados) igual:
$some_array = array( 'foo' => 'bar', 'spam' => 'ham');
Comments
Comentarios en una línea
//prueba
Comentarios en bloque
/*
* prueba de comentario
*/
Including Code
require y require_once deben de ser utilizados para llamar archivos fuera de funciones o clases al contrario de include e include_once
PHP Code Tags
Siempre se debe de usar <?php ?>, no se debe de usar el tag corto <? ?>
Header Comment Blocks
/**
* Short description for file
*
* Long description for file (if any)...
*
* PHP version 5
*
* @category CategoryName
* @package PackageName
* @author Original Author <[email protected]>
* @author Another Author <[email protected]>
* @copyright 2011 SoftLogiK
* @license http://www.php.net/license/3_01.txt PHP License 3.01
* @version SVN: 23
* @link http://www.google.com
*/
Files
Los nombres de los archivos sólo pueden contener un caracter alfanumérico, guiones bajos (_). No se permiten espacios en blanco.
Referencias
PEAR
http://pear.php.net/manual/en/standards.php
Zend Framework Coding Standard for PHP: http://framework.zend.com/manual/en/coding-standard.html