Estándares de programación


______

______

imagen_php

Nombres de variables

  1. La primer letra de una variable debe iniciar con minúscula
  2. Las variables nativas o arrays deben ir separadas por guión bajo(_) cada cambio de palabra : $my_var
  3. Las varibles que sean Objetos deben cambiar a mayúsculas cada cabo de palabra, ejemplo: $myVar
  4. Las varibles globales deben ir todas con mayusculas, ejemplo: $MY_VAR

Asignaciones

  1. Debe haber un espacio entre la variable y los operadores:

 

$my_var = 17;

$a = $b;

 

______

______

___

Operadores

  1. “+”, “-“, “*”, “/”, “=” y cualquier combinación de ellos (ej. “/=”) necesitan un espacio entre
    miembros de la izquierda y la derecha

    $a + 17;

    $result = $b / 2;

    $i += 34;

  2. “.” no llevan espacio entre los miembros de la izquierda y la derecha
    echo $a.$b;

    $c = $d.$this->foo();

    Recomendación

    Por motivos de rendimiento, no exceda el uso de la concatenación.

  3. “.=” necesita un espacio entre los miembros de la izquierda y la derecha
    $a .= 'Debug';

Declaraciones

  1. if, elseif, while, for:deben presentar un espacio entre la palabra clave if y el paréntesis
    if (<condition>)

    ______

    ______

    while (<condition>)

  2. Cuando una combinación de if y else else es utilizada y si ambas deben ofrecer un valor, el else debe ser evitado.
    if (<condition>)

        return false;

    return true;

    Recomendación

    Le recomendamos un resultado por método / función

  3. Cuando un método / función ofrece un valor booleano y el valor actual del método / función depende de ello, la declaración if debe ser evitada
    public aFirstMethod()

    {

        return $this->aSecondMethod();

    }

  4. Las pruebas deben ser agrupadas por “entidad”
    if ($price AND !empty($price))

        [...]

    if (!Validate::$myObject OR $myObject->id === NULL)

        [...]

Visibilidad

  1. La visibilidad debe definirse en cada momento, incluso cuando se trata de un método público.
  2. El orden de las propiedades del método debe ser: visibility static function name()
    private static function foo()

Nombres de Método / Función

  1. Los nombres del método y la función comienzan siempre con un carácter en minúscula y cada una de las palabras siguientes deben comenzar con un carácter en mayúsculas (CamelCase)
    public function myExempleMethodWithALotOfWordsInItsName()
  2. Los corchetes que se presentan en el código del método tienen que ser precedidos por un retorno
    public function myMethod($arg1, $arg2)

    {

        [...]

    }

  3. Los nombres de los métodos y las funciones deben ser nombres explícitos, por lo tanto nombres de función como “b()” o “ef()” están completamente prohibidos.Excepciones

    Las únicas excepciones son la función de traducción llamada “l()” y las funciones de depuración “p()”, “d()”.

Enumeración

Las comas deben estar seguidas (y sólo seguidas) por un espacio.

protected function myProtectedMethod($arg1, $arg2, $arg3 = null)

Objetos / Clases

  1. El nombre del objeto debe colocarse en singular
    class Customer
  2. El nombre de la clase debe seguir el modelo CamelCase, excepto que la primera letra sea mayúscula
    class MyBeautifulClass

Definiciones

  1. Los nombres de las definiciones deben ser ingresados en mayúsculas
  2. Los nombres de las definiciones deben contar con el prefijo “PS_” dentro del núcleo y el módulo
    define('PS_DEBUG'1);

    define('PS_MODULE_NAME_DEBUG'1);

  3. Los nombres de las definiciones no permiten caracteres alfabéticos. Excepto “_”.

Palabras claves

Todas las palabras clave deben colocarse en minúsculas
ej. as, case, if, echo, null

Constantes

Las constantes deben estar en mayúsculas, excepto “verdadero” y “falso” y “nulo”, que debe estar en minúsculas
ej. “ENT_NOQUOTE”, “true”

Variables de configuración

Las variables de configuración siguen las mismas reglas que las definiciones

Cadenas

Las Cadenas deben ir entre comillas simples, nunca dobles

echo 'Debug';

$myObj->name = 'Hello '.$name;

Comentarios

  1. Dentro de las funciones y métodos, sólo la etiqueta “//” de comentario es permitida
  2. Después de la etiqueta “//” de comentario, un espacio “// Comment“ es necesario
    // My great comment
  3. La etiqueta “//” de comentario es permitida al final de una línea de código
    $a = 17 23// A comment inside my exemple function
  4. Funciones y métodos externos, sólo las etiquetas “/” y “/” de comentario son permitidas
    /* This method is required for compatibility issues */

    public function foo()

    {

    // Some code explanation right here

    [...]

    }

  5. Comentario PHP Doc Element es necesario antes de las declaraciones de método
    /**

     * Return field value if possible (both classical and multilingual fields)

     *

     * Case 1 : Return value if present in $_POST / $_GET

     * Case 2 : Return object value

     *

     * @param object $obj Object

     * @param string $key Field name

     * @param integer $id_lang Language id (optional)

     * @return string

     */

    protected function getFieldValue($obj, $key, $id_lang = NULL)

    Para más información

    Para más información acerca de la regla PHP Doc: vea este enlace útil

Devolución de valores

  1. Las declaraciones de devolución no necesitan paréntesis, excepto cuando se trata de una expresión compuesta
    return $result;

    return ($a + $b);

    return (a() - b());

    return true;

  2. Desarmar una función
    return;

Llamada

La función de llamada precedida por una “@” está prohibida pero tenga cuidado con la llamada a la función / método con login / contraseña o ruta de argumentos.

myfunction()

// En el siguiente ejemplo colocamos una @ por motivos de seguridad

@mysql_connect([...]);

Etiquetas

  1. Una línea en blanco debe dejarse después de la etiqueta de apertura de PHP
    <?php

     

    require_once('my_file.inc.php');

  2. La etiqueta final de PHP está prohibida

Indentación

  1. El carácter de tabulación (“\t”) es el único caracter de indentación que se permite
  2. Cada nivel de indentación debe ser representado por un solo caracter de tabulación
    function foo($a)

    {

        if ($a == null)

            return false;

        [...]

    }

Matriz

  1. La palabra clave de la matriz no debe ser seguida por un espacio
    array(172342);
  2. La indentación debe ser de la siguiente forma cuando muchos datos se encuentran dentro de una matriz:
    $a = array(

        36 => $b,

        $c => 'foo',

        $d => array(172342),

        $e => array(

            0 => 'zero',

            1 => $one

        )

    );

Bloque

Los corchetes están prohibidos cuando se define solamente una instrucción o una combinación de declaración

if (!$result)

    return false;

 

for ($i = 0; $i < 17; $i++)

    if ($myArray[$i] == $value)

        $result[] = $myArray[$i];

    else

        $failed++;

 

______

______

Previous 18 Librerias CSS para crear animaciones y efectos coquetos 18 Librerias CSS para crear animaciones y efectos coquetos
Next Crea Correos Responsive con MJML Framework

No Comment

Leave a reply

Tu dirección de correo electrónico no será publicada.