_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_
_-_-_-_
}
El estilo de indentacin debe permitir ver la estructura del cdigo sin mirar
el cdigo en s (es decir, con solo ver la distribucin de espacio en blanco y
espacio escrito). Cuando se busca un tramo de programa o se lee rpido,
uno puede visualizar la distribucin de espacio blanco/no blanco pero no
tiene
tiempo
para
ver
estructuras,
o
concordancia
de
parntesis/llaves/corchetes.
Estilo K&R
El estilo K&R es el ms usado en el lenguaje C y PHP. El estilo K&R, fue llamado
de esta forma porque fue usado por Kernighan y Ritchies en su libro The C
Programming Language [4]. Se trata de abrir la llave en la misma lnea de
declaracin de la orden, indentando los siguientes pasos al mismo nivel que la
llave y cerrando la llave en el mismo nivel que la declaracin.
Ejemplo
function saludar($val) {
if($val == 1) {
echo "HOLA";
}
else {
echo "CHAO";
}
}
La ventaja de este estilo es que la llave de apertura no requiere una linea extra y
llave de finalizacin se alinea conceptualemente a la declaracin conceptual a la
que pertenece. Una desventajade este estilo es quela llave final de un bloque
toma una linea enterf, el cual podria se parcialmente resuelto en los bloques
if/else y do/while
Estilo Allman
El estilo Allman fue definido por Eric Allman. Se trata de crear una nueva lnea
para las llaves, e identar el cdigo debajo de ellas. La llave de cierre tiene el
mismo identado que la de inicio
function saludar($val)
{
if($val == 1)
{
echo "HOLA";
}
else
{
echo "CHAO";
}
}
Ventaja de este estilo es que la indentacin del codigo claramente
diferencia las instrucciones de un bloque con la declaracin condicional.
Una desventaja de este estilo es que cada llave de finalizacin ocupa una
linea entera sin aadir ningun codigo. Este problema era importante cuando un
programador programaba codigo en un terminal que mostraba 24 lineas.
Estilo Whitesmiths
El estilo Whitesmiths tambien llamado estilo Wishart. Este estilo coloca las
llaves asociadas con la instrucciones de control indentada en la siguiente linea.
Este estilo pone la llave que sigue a la declaracin de un bloque se realiza
indentada en la lnea siguiente. Instrucciones dentro del bloque son indentados en
el mismo nivel que la llave.
function saludar($val)
{
if($val == 1)
{
echo "HOLA";
}
else
{
echo "CHAO";
}
}
Las ventajas obtenidas mediante la implementacin de este estilo son las
mismas del estilo Allman en que los bloques son claramente separados desde la
instruccin de control, Sin embargo en el estilo Whitesmiths, el bloque est
conectado visualmente a su declaracin de control. Otra ventaja es que la
alineacin de las llaves con el bloque entero es visto como un solo conjunto de
instrucciones. Adems, las llaves hacen hincapi en que el contenido del bloque
estn subordinados a la declaracin de control
Una desventaja de este estilo podria ser que las llaves ocupan una linea
entera.
Otro inconveniente podra ser que el la llave de cierre no se alinea con la
declaracin a la que conceptualmente pertenecen, aunque otros sostienen que el
cierre de llaves pertenece a la llave de apertura y no a la declaracin de control.
Estilo GNU
El estilo GNU coloca una llave sobre la siguiente linea. Las llaves son
indentadas por 2 espacios,y el codigo que contiene indentada por 2 espacios
adicionales.
function saludar($val)
{
if($val == 1)
{
echo "HOLA";
}
else
{
echo "CHAO";
}
}