Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Estándares: márgenes en saltos de línea y arrays multilínea

Estas en el tema de Estándares: márgenes en saltos de línea y arrays multilínea en el foro de PHP en Foros del Web. Hola, hoy estuve revisando nuevamente el estándar de codificación de Zend y me quedé con algunas dudas. 1. La primera es sobre la indentación y ...
  #1 (permalink)  
Antiguo 27/05/2014, 05:21
aprendiz94
Invitado
 
Mensajes: n/a
Puntos:
Estándares: márgenes en saltos de línea y arrays multilínea

Hola, hoy estuve revisando nuevamente el estándar de codificación de Zend y me quedé con algunas dudas.

1. La primera es sobre la indentación y los saltos de línea. Dentro de una función por ejemplo el código debe ir tabulado.
Pero qué pasa si lo que quiero es dejar una línea de espacio entre un código y otro? tengo que ponerle tabulación a esa línea en blanco?

Para que se entienda mejor hice este ejemplo, "----" representa la tabulación. Supongamos que quiero dejar espacio de una línea entre un código y otro, o sea dejar una línea en blanco. Es necesario ponerle margen, tabulación?

Código:
// Línea en blanco tabulada
public function miFuncion()
{
----Código...
----
----Código...
}

// Línea en blanco sin espacios ni tabulación
public function miFuncion()
{
----Código...

----Código...
}
Yo prefiero dejar las líneas en blanco sin ningún espacio, porque considero que un margen en una línea en blanco no tiene mucho sentido.
En varios editores e IDEs viene por defecto que, al hacer un salto de línea, se indente automáticamente, y me parece lógico si es que se va escribir código en esa línea.
Pero yo siempre cambio esa configuración para que al hacer un salto de línea no ponga ningún margen, entonces yo hago la indentación manualmente cuando necesito. Me resulta más cómodo hacer la indentación manualmente y que las nuevas líneas no tengan ningún espacio.

Alguien sabe qué dice el estándar? O ya depende del gusto de cada uno?

Otra cosa, si es que no es necesario hacer tabulaciones en las líneas en blanco, alguien sabe cómo cambiar esa configuración en Eclipse? El Eclipse al hacer un salto de línea automáticamente le aplica el margen y quiero desactivar eso pero no encuentro dónde. En notepad++ lo hacía en Configuración >> Preferencias >> MISC. >> Auto-margen.


2. Bueno mi segunda duda es sobre la forma de alinear arrays multilínea. Por ejemplo para arrays indexados dice esto:

Cita:
Se permite declarar arrays indexados multilínea usando la construcción "array". En este caso, cada línea sucesiva debe ser tabulada con cuatro espacios de forma que el principio de cada línea está alineado:

Código PHP:
$sampleArray = array(123'Zend''Studio',
                     
$a$b$c,
                     
56.44$d500); 
Aquí creo que no deja muy claro cómo hay que hacer o yo no supe entender: cada línea debe ser tabulada con cuatro espacios de forma que el principio de cada línea está alineado.

Supongamos que tengo este array. Si tabulo (con 4 espacios cada tabulación, claro), no alcanza para que cada línea esté alineada con la primera, faltarían 2 espacios adicionales:

Código:
// | representa el inicio de la tabulación y - los siguientes espacios
$variable = array(1, 2, 3, 'Zend', 'Studio',
|---|---|---|---$a, $b, $c,
|---|---|---|---56.44, $d, 500);
O lo que dice es que primero tengo que tabular, y luego alinear todas las líneas con espacios adicionales? En el ejemplo que muestran ponen 1 espacio adicional para que todas las líneas queden alineadas.

Cómo se interpreta eso?
  #2 (permalink)  
Antiguo 27/05/2014, 08:24
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Estándares: márgenes en saltos de línea y arrays multilínea

Para codificación te sugiero que adoptes las que se encuentran en http://www.php-fig.org/
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 27/05/2014, 11:06
aprendiz94
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Estándares: márgenes en saltos de línea y arrays multilínea

Gracias por tu respuesta, pero estoy decidido en utilizar el estándar de Zend porque es más "oficial" y el más utilizado (creo).
  #4 (permalink)  
Antiguo 27/05/2014, 11:34
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: Estándares: márgenes en saltos de línea y arrays multilínea

Cita:
Gracias por tu respuesta, pero estoy decidido en utilizar el estándar de Zend porque es más "oficial" y el más utilizado (creo).
solo un punto: La codificación de Zend no es la mas oficial ni la mas utilizada. Pero respeto tu elección.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 27/05/2014, 14:29
aprendiz94
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Estándares: márgenes en saltos de línea y arrays multilínea

Entiendo. Creo que quité esas ideas de Zend por ser la empresa que está a cargo de PHP y por las recomendaciones que leí en varias partes, entonces me mentalicé de que adoptar ese estándar es la mejor opción. Ya había visto los estándares PSR 0-3 sólo que por las recomendaciones decidí adoptar el estándar de Zend.

Acabé de leer detenidamente los estándares PSR 0-3, en algunos aspectos es similar a la de Zend, aunque la de Zend abarca más cosas y me parece más ordenado.

Lo de la tabulación se aplica igual, por ejemplo para las estructuras de control esto dicen los estándares:

PSR-2:

Cita:
El cuerpo de la estructura de control DEBE estar indentado una vez.

Zend:

Cita:
Cualquier contenido dentro de las llaves debe separarse con cuatro espacios en blanco.

Con eso entonces deduzco que, independientemente de que si exista líneas en blanco o no, lo que está dentro de las llaves debe estar siempre indentado. Por ejemplo:

Código PHP:
// ---- representa la tabulación

// Esto es correcto
if (condicion) {
----
// Código...
----
----
// Otro código...
}

// Esto NO está permitido
if (condicion) {
----
// Código...

----// Otro código...

Es esa la duda que tengo con los saltos de línea y al fijarme bien en lo que dicen los estándares creo que no debería dejar líneas en blanco sin indentar, sólo que igual me causa confusión. Por eso si alguien que sepa más me puede confirmar estaría genial.

Lo de los arrays no sé si se aplica lo mismo, en el estándar PSR creo que no dice nada al respecto o no lo encontré.
  #6 (permalink)  
Antiguo 27/05/2014, 14:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Estándares: márgenes en saltos de línea y arrays multilínea

Yo no sería tan religioso, al fin y al cabo se trata de un guía de estilo, no una biblia ni instructivo a seguir fielmente.

Finalmente puedes adoptar un estilo u otro, también podrías optar por un híbrido que te acomode más, no hace falta ser tan riguroso.

Lo importante de las guías de estilo es la consistencia, sobre todo cuando trabajas en equipo, una guía de estilo consistente para todos.

Pero encima de ello no hay que abusar, digamos que hay más gente preocupándose entre si usar espacios o tabs que en resolver problemas.

Tu decides cuanto tiempo más perder con ello.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 27/05/2014, 15:08
aprendiz94
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Estándares: márgenes en saltos de línea y arrays multilínea

Tienes razón pateketrueke, soy conciente de eso. A mí me gusta seguir los estándares al pie de la letra xD sé que en este caso no es tan necesario, son sólo espacios en blanco y como dices lo importante de las guías de estilo es la consistencia.
Pero ya que me decidí a revisar todo el estándar sólo quería quitarme esas dudas. Es sólo una manía mía entonces como soy tan religioso con eso me molesta no saber si lo estoy haciendo al pie de la letra xD pero entiendo la idea y lo que realmente importa, es sólo una manía.
  #8 (permalink)  
Antiguo 28/05/2014, 02:00
lolainas
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Estándares: márgenes en saltos de línea y arrays multilínea

Descárgate Netbeans y marca la opciones "PSR-0" y "PSR-1" y de vez en cuando dale segundo click format, puedes ajustar el formato a tu gusto, o adaptarlo a algún PSR-2 para arriba.
Lee todos los warnings que te arroja y poco a poco empezarás a escribir mejor.

Etiquetas: arrays, saltos, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:04.