Los estándares de código de WordPress: indentación, uso del espacio y espacios finales
Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)
El propósito central de esta serie consiste en ayudar a exponer los Estándares de código de WordPress, por qué son importantes, y cómo escribir código de calidad en WordPress. Por ello, estamos echando un vistazo en profundidad a cada sección de los Estándares de código de WordPress.
Hasta ahora hemos visto lo siguiente:
- Convenciones de nomenclatura y argumentos de función
- Comillas simples y comillas dobles
Hoy, vamos a cubrir la importancia del espacio en blanco. En concreto, vamos a ver la indentación, el uso del espacio, y los espacios finales. Aunque suena sencillo, estos son algunos de los aspectos más ignorados y erróneamente usados de los estándares de código.
Unas palabras sobre el espacio en blanco
Antes de ver que está sucediendo con los distintos estándares de código, es importante entender por qué es relevante el espacio en blanco no solo en WordPress, sino en los lenguajes de programación en general.
Dicho en pocas palabras, su relevancia se debe a que mejora la legibilidad.
Por esto algunos lenguajes de programación están delimitados mediante espacios o pestañas, y el porque algunos lenguajes de programación requieren que coloques espacios en ciertas partes de tu código como por ejemplo entre los parámetros de las funciones, índices de matrices, y mucho más.
En lo que a WordPress respecta, las convenciones existen no solo para mejorar la legibilidad, sino también para proporcionar una lectura consistente y una experiencia de desarrollo óptima para cualquiera que trabaje en los temas, plugins, y aplicaciones de WordPress, o en el propio núcleo de este.
Recuerda: El objetivo de los estándares de código es conseguir que el código fuente parezca haber estado escrito por un único desarrollador ya que establece un nivel de expectativas para los desarrolladores que contribuyan en él.
Indentación
En lo que se refiere a la indentación, no hay nada particularmente nuevo, revolucionario, o distinto en lo que respecta a WordPress. Hablando en términos generales, harás una indentación cada vez que inicies un nuevo bloque.
Esto significa que:
- Tus funciones estarán indentadas con la clase
- Tus condicionales y switch/cases y otros bloques serán indentados dentro de sus funciones
- Tus bucles serán indentados dentro de sus funciones, dentro de sus condicionales, etc.
Si estás acostumbrado a escribir código en lenguajes de estilo C, entonces no existe nada particularmente nuevo aquí, ¿cierto?
Un ejemplo del aspecto que podría tener esto es exactamente esto:
1 |
|
2 |
function foo( $arguments ) { |
3 |
|
4 |
if ( 0 < count( $arguments ) { |
5 |
|
6 |
foreach ( $arguments as $arg => $value ) { |
7 |
echo $value; |
8 |
}
|
9 |
|
10 |
}
|
11 |
|
12 |
}
|
Según los estándares de código:
Tu indentación siempre debería tener una estructura lógica. Usa tabulaciones reales, no espacios, ya que esto permite la máxima flexibilidad entre distintos clientes.
La clave está en que siempre se deberían empezar las líneas con tabuladores, y que el código debería reflejar una estructura lógica. No compliques las cosas excesivamente ni tampoco las sobre simplifiques.
Existe otro matiz en relación a los espacios en blanco dentro de los estándares de código de WordPress: las tabulaciones deberían usarse al principio de la línea, pero los espacios deberían usarse en cualquier otro sitio. En gran parte, esta es una regla bastante fácil de seguir; sin embargo, en WordPress, con frecuencia estarás creando matrices para pasar argumentos.
Idealmente, queremos que cada índice de una matriz esté alineada de manera que la legibilidad sea lo más óptima posible pero con frecuencia tenemos tendencia a usar tabuladores para que nos resulte más fácil su alineación, sin embargo, esto realmente es una violación de los estándares de código.
1 |
|
2 |
$args = array( |
3 |
'ID' => 1, |
4 |
'post_title' => 'The Title', |
5 |
'post_content' => 'The content' |
6 |
);
|
Por tanto, asegúrate de que solo usas tabuladores al inicio de cada línea.
Uso del espacio
En lo que respecta a WordPress, he descubierto que los espacios se han utilizado con mucha más libertad que en ningún otro lenguaje. No lo estoy diciendo como una simple observación, ya que fue un ajuste personal que tuve que hacer al venir tanto de .NET como de Ruby.
Dicho esto, al igual que ocurre con la mayoría de las otras reglas del Codex, no existe nada que sea particularmente complejo; sin embargo, existen algunas distinciones importantes que deben recordarse cuando escribimos código.
Los espacios deberían colocarse en los siguientes sitios:
- Después de las comas
- A ambos lados de los operadores lógicos (es decir,
||
,&&
, y!
) - A ambos lados de operadores comparativos (es decir,
<
,>
,==
,===
, etc.) - A ambos lados de operadores de atribución (a saber
=
) - A ambos lados de los paréntesis de apertura y cierre de las funciones, condicionales, bucles, etc.
- Cuando se está pasando una función en forma de índice de una matriz, pero no cuando se trata de un valor literal (como por ejemplo una cadena o una cifra entera)
La mayoría de esto es relativamente claro, pero según mi experiencia las reglas de matrices tienden a causar la mayoría de las confusiones entre los desarrolladores, así que aquí tienes una nota rápida sobre qué se considera correcto y que no:
1 |
|
2 |
// Correct spacing...
|
3 |
$arr[ $x ] = 'foo'; |
4 |
$arr[0] = 'bar'; |
5 |
|
6 |
// Incorrect spacing...
|
7 |
$arr[$x] = 'bar'; |
8 |
$arr[ 0 ] = 'bar'; |
Como puedes ver, no es nada terriblemente complicado pero sí una convención relativamente fácil de olvidar.
Espacios finales
Esta regla posiblemente sea la más sencilla de recordar de todas. En pocas palabras, no deberían existir espacios finales extra al final de ninguna línea de código.
Dependiendo de tu IDE, podrías tener este filtro incorporado; en otras ocasiones, podrías necesitar instalar un plugin que ejecute esta acción por ti cada vez que guardes el archivo. Sea cual sea el caso, es una característica fácil de integrar en cualquier IDE que estés usando.
Adicionalmente, la mayoría de editores, con independencia de que se trate de un editor de texto glorificado o un completo IDE, deberías tener la capacidad de habilitar la visibilidad de los tabuladores y los espacios.



De nuevo, esta es una de las convenciones más simple a seguir y es muy probable que tu IDE o tu editor preferido disponga de esta funcionalidad o que exista un plugin que te permita hacer esto automáticamente.
Si no es así, deberías ser capaz de activar la visibilidad de las tabulaciones, los retornos de carro, etc., de forma que puedas identificar fácilmente dónde están situados los espacios finales.
Conclusión
Obviamente, los espacios en blanco juegan un papel esencial en la escritura del código base de WordPress. En este artículo, hemos explorado la indentación, las tabulaciones, los espacios, los espacios a final de línea, y el porqué de su incorporación en nuestros proyectos.
En el siguiente artículo, vamos a continuar hablando sobre las sutilezas de los estándares de código en WordPress revisando el estilo de las llaves, las expresiones regulares, y de los matices en el uso de las etiquetas PHP a través de nuestro código de WordPress.