Herramientas de usuario

Herramientas del sitio


ingenieria:estandard-de-codificacion

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
ingenieria:estandard-de-codificacion [2014/05/26 17:03]
ingenieria:estandard-de-codificacion [2016/01/05 23:15] (actual)
Línea 17: Línea 17:
 Las definiciones de clases, propiedades de clase, métodos y funciones deben tener su correspondiente DocBlock de PHPDoc. Los algoritmos complejos deben documentarse con comentarios de una sola línea o de múltiples líneas si se da una explicación general. Las definiciones de clases, propiedades de clase, métodos y funciones deben tener su correspondiente DocBlock de PHPDoc. Los algoritmos complejos deben documentarse con comentarios de una sola línea o de múltiples líneas si se da una explicación general.
  
-<​code>/​**+<​code>​ 
 +/**
  * @param string $prop_slug El slug del campo buscado  * @param string $prop_slug El slug del campo buscado
  * @param mixed $prop_value El nuevo valor del campo  * @param mixed $prop_value El nuevo valor del campo
Línea 64: Línea 65:
     return true;     return true;
 } }
- 
 </​file>​ </​file>​
  
Línea 73: Línea 73:
  
 $p += $v1 + $arr[0]; ​   // Otro comentario $p += $v1 + $arr[0]; ​   // Otro comentario
- 
 </​code>​ </​code>​
  
Línea 119: Línea 118:
 15. $obj = new MiClase(); 15. $obj = new MiClase();
 16. $obj->​f1(5,​ 6, 7); 16. $obj->​f1(5,​ 6, 7);
- 
 </​code>​ </​code>​
  
 ---- ----
  
-===== Alineamientos =====+===== ''​Alineamientos'' ​=====
  
-En el caso de un bloque de asignaciones relacionadas se pueden alinear los signos de igualdad (=).+''​En el caso de un bloque de asignaciones relacionadas se pueden alinear los signos de igualdad (=) . ''​
  
-<​code>​$short ​  ​= foo($bar); +''''​$short = foo($bar); $long_variable = foo($baz); ​'' ​ ''​
-$long_variable = foo($baz);+
  
-</​code>​+''​Lo mismo se aplica a las definiciones de arreglos. ''​
  
-Lo mismo se aplica a las definiciones de arreglos.+''<​code>​ $some_array = array( ''​
  
-<​code>​$some_array = array( +<​code>​ 
-    '​a' ​   => '​foobar',​ +''  ​'​a' ​   => '​foobar',​ 
-    '​foo' ​ => '​bar',​ +  '​foo' ​ => '​bar',​ 
-    '​spam'​ => '​ham',​ +  '​spam'​ => '​ham',​
-);+
  
 +''​
 </​code>​ </​code>​
 +
 +''​ ''​
 +
 +''​);​ ''​
  
 Las llamadas a funciones se pueden dividir en varias líneas. Los parámetros se identan 1 nivel respecto a la línea de la función a la que pertenecen. Las llamadas a funciones se pueden dividir en varias líneas. Los parámetros se identan 1 nivel respecto a la línea de la función a la que pertenecen.
Línea 147: Línea 148:
 Los paréntesis de cierre se escriben en su propia línea identada al nivel de la línea donde fueron abiertos. Los paréntesis de cierre se escriben en su propia línea identada al nivel de la línea donde fueron abiertos.
  
-<​code>​$this->​someObject->​subObject->​callThisFunctionWithALongName(+<​code>​ 
 +$this->​someObject->​subObject->​callThisFunctionWithALongName(
     $parameterOne,​ $parameterTwo,​     $parameterOne,​ $parameterTwo,​
     $aVeryLongParameterThree     $aVeryLongParameterThree
 ); );
- 
 </​code>​ </​code>​
  
 Lo mismo es válido para funciones anidadas y definición de arreglos. Lo mismo es válido para funciones anidadas y definición de arreglos.
  
-<​code>​$this->​someObject->​subObject->​callThisFunctionWithALongName(+<​code>​ 
 +$this->​someObject->​subObject->​callThisFunctionWithALongName(
     $this->​someOtherFunc(     $this->​someOtherFunc(
    ​$this->​someEvenOtherFunc(    ​$this->​someEvenOtherFunc(
Línea 170: Línea 172:
     $this->​wowowowowow(12)     $this->​wowowowowow(12)
 ); );
- 
 </​code>​ </​code>​
  
-Las llamadas concatenadas a funciones pueden dividirse en varias líneas, indentando cada línea subsecuente y comenzandola con el operador flecha "->".+Las llamadas concatenadas a funciones pueden dividirse en varias líneas, indentando cada línea subsecuente y comenzandola con el operador flecha "".
  
-<​code>​$someObject->​someFunction("​some",​ "​parameter"​)+<​code>​ 
 +$someObject->​someFunction("​some",​ "​parameter"​)
     ->​someOtherFunc(23,​ 42)     ->​someOtherFunc(23,​ 42)
     ->​andAThirdFunction();​     ->​andAThirdFunction();​
- 
 </​code>​ </​code>​
  
Línea 187: Línea 188:
 Salvo en la definición de una clase, las llaves deben abrir al lado de la estructura a la que petenece, separada por un espacio. Salvo en la definición de una clase, las llaves deben abrir al lado de la estructura a la que petenece, separada por un espacio.
  
-<​code>​class MiClase+<​code>​ 
 +class MiClase
 { {
     public function f1($p) {     public function f1($p) {
Línea 195: Línea 197:
     }     }
 } }
- 
 </​code>​ </​code>​
  
Línea 206: Línea 207:
 ==== if ==== ==== if ====
  
-<​code>​if ((condition1) || (condition2)) {+<​code>​ 
 +if ((condition1) || (condition2)) {
     action1;     action1;
 } elseif ((condition3) && (condition4)) { } elseif ((condition3) && (condition4)) {
Línea 213: Línea 215:
     defaultaction;​     defaultaction;​
 } }
- 
 </​code>​ </​code>​
  
 En el caso de condiciones muy largas o complejas pueden dividirse en varias líneas En el caso de condiciones muy largas o complejas pueden dividirse en varias líneas
  
-<​code>​if (($condition1 || $condition2)+<​code>​ 
 +if (($condition1 || $condition2)
     && $condition3     && $condition3
     && $condition4     && $condition4
Línea 224: Línea 226:
     //code here     //code here
 } }
- 
 </​code>​ </​code>​
  
 La 1ra condición puede alinearse al resto La 1ra condición puede alinearse al resto
  
-<​code>​if (   ​$condition1+<​code>​ 
 +if (   ​$condition1
     && $condition2     && $condition2
     && $condition3     && $condition3
Línea 235: Línea 237:
     ;     ;
 } }
- 
 </​code>​ </​code>​
  
 Las condiciones también pueden expresarse como variables para hacerlas más legibles Las condiciones también pueden expresarse como variables para hacerlas más legibles
  
-<​code>​$is_foo = ($condition1 || $condition2);​+<​code>​ 
 +$is_foo = ($condition1 || $condition2);​
 $is_bar = ($condition3 && $condtion4);​ $is_bar = ($condition3 && $condtion4);​
 if ($is_foo && $is_bar) { if ($is_foo && $is_bar) {
     // ....     // ....
 } }
- 
 </​code>​ </​code>​
 +
 ==== switch ==== ==== switch ====
  
-<​code>​switch (condition) {+<​code>​ 
 +switch (condition) {
     case 1:     case 1:
    ​action1;​    ​action1;​
Línea 262: Línea 265:
     break;     break;
 } }
- 
 </​code>​ </​code>​
 +
 ==== for ==== ==== for ====
  
-<​code>​for ($i = 1; $i <= 10; $i++) {+<​code>​ 
 +for ($i = 1; $i <= 10; $i++) {
      print $i;      print $i;
 } }
- 
 </​code>​ </​code>​
 +
 ==== foreach ==== ==== foreach ====
  
-<​code>​foreach ($a as $v) {+<​code>​ 
 +foreach ($a as $v) {
    ;    ;
 } }
Línea 280: Línea 285:
    ;    ;
 } }
 +</​code>​
  
-</​code>​ 
 ==== while ==== ==== while ====
  
-<​code>​while (list(, $value) = each ($arr)) {+<​code>​ 
 +while (list(, $value) = each ($arr)) {
     ;     ;
 } }
 +</​code>​
  
-</​code>​ 
 ==== do..while ==== ==== do..while ====
  
-<​code>​do {+<​code>​ 
 +do {
      ;      ;
 } while ($condition);​ } while ($condition);​
- 
 </​code>​ </​code>​
 +
 ==== Operadores ternarios ==== ==== Operadores ternarios ====
  
-<​code>​$a = $condition ? $foo : $bar;+<​code>​ 
 +$a = $condition ? $foo : $bar;
 $b = $condition1 && $condition2 $b = $condition1 && $condition2
     ? $foo : $bar;     ? $foo : $bar;
Línea 305: Línea 313:
     ? $foo_man_this_is_too_long_what_should_i_do     ? $foo_man_this_is_too_long_what_should_i_do
     : $bar;     : $bar;
- 
 </​code>​ </​code>​
  
Línea 344: Línea 351:
 En el DocBlock, su tipo será null y su descripción comenzará con '​(Parámetro de salida) Devuelve'​. El bloque de parámetros de salida se separa del resto de los parámetros por una línea en blanco. En el DocBlock, su tipo será null y su descripción comenzará con '​(Parámetro de salida) Devuelve'​. El bloque de parámetros de salida se separa del resto de los parámetros por una línea en blanco.
  
-<​code>/​*+<​code>​ 
 +/*
  * @param type $param1 ...  * @param type $param1 ...
  * @param type $param2 ...  * @param type $param2 ...
Línea 358: Línea 366:
     return $some_value;​     return $some_value;​
 } }
- 
 </​code>​ </​code>​
 +
 ==== Parámetros de referencia ==== ==== Parámetros de referencia ====
  
Línea 366: Línea 374:
 Este tipo de parámetro siempre será pasado por referencia, deberá llevar el postfijo '​_REF'​ y se ubicará al final de la lista de parámetros pero antes de cualquier parámetro de salida. En el DocBlock, su descripción comenzará con '​(Parámetro de referencia)'​. Este tipo de parámetro siempre será pasado por referencia, deberá llevar el postfijo '​_REF'​ y se ubicará al final de la lista de parámetros pero antes de cualquier parámetro de salida. En el DocBlock, su descripción comenzará con '​(Parámetro de referencia)'​.
  
-<​code>/​*+<​code>​ 
 +/*
  * ...  * ...
  * @param type $common_param ...  * @param type $common_param ...
Línea 382: Línea 391:
     return $some_value;​     return $some_value;​
 } }
- 
 </​code>​ </​code>​
 +
 ==== Miembros de clase protegidos y privados ==== ==== Miembros de clase protegidos y privados ====
  
Línea 390: Línea 399:
 Se excluyen de esta regla las propiedades protegidas que puedan ser accedidas por métodos accesores (getters, issers, setters). Se excluyen de esta regla las propiedades protegidas que puedan ser accedidas por métodos accesores (getters, issers, setters).
  
-<​code>​class MiClase+<​code>​ 
 +class MiClase
 { {
     const MAX_VALUE = 500;     const MAX_VALUE = 500;
Línea 415: Línea 425:
     }     }
 } }
- 
 </​code>​ </​code>​
  
Línea 439: Línea 448:
   * Privados   * Privados
  
-<​code>​class MiClase+<​code>​ 
 +class MiClase
 { {
     const MAX_VALUE = 500;     const MAX_VALUE = 500;
Línea 478: Línea 488:
     }     }
 } }
- 
 </​code>​ </​code>​
  
ingenieria/estandard-de-codificacion.1401123813.txt.gz · Última modificación: 2016/01/05 23:15 (editor externo)