2008-10-30 13 views
5

Estoy leyendo a través del Zend Framework coding standards, donde dicen que la llave después de las definiciones de clase debe estar en la línea siguiente, la "forma de llave verdadera".¿Cuál es el razonamiento detrás de las diferentes formas de corsé?

class MyClass 
{ 
    function.... 
} 

por lo general tienen las llaves en la misma línea:

class OtherClass { 
    function ... 
} 

¿Cuál es la razón para ponerse el soporte en la línea siguiente? O usando cualquier otro estilo, para el caso?

Respuesta

7

La preferencia personal es realmente la única "razón" real.

+1

Creo que hay más que solo "preferencia personal". Los programadores que son humanos, están sujetos a restricciones cognitivas que harían que algún formato (cualquiera sea) sea más útil para nuestro cerebro cuando necesite extraer información de una "imagen" (por ejemplo, separación en bloques). – Jorge

+0

Además, me pregunto por qué generalmente discutimos las diferencias de formato en el código y no en otros lenguajes de texto estándar, como XML. No recuerdo haber visto XML formateado en el estilo K & R (el segundo en la pregunta original). – Jorge

+0

He encontrado que para la mayoría de los casos, las líneas separadas son más seguibles, pero un caso, bloques UIView, es más fácil de leer K & R. Esta es una cuestión de capacidad para seguir líneas en la pantalla con mis ojos, no relacionados con personal desea usar un estilo sobre otro. –

1

Preferencia de usuario. Realmente no hace diferencia. Cuando desarrollé en PHP, utilicé la segunda opción, pero ahora usando C#, uso el primero.

7

Me parece que el primer estilo que mencionó ayuda a compensar visualmente el nombre de clase de sus definiciones de miembros. Esto me ayuda a encontrar la declaración de la parte superior de la clase más fácilmente cuando escaneo el código.

8

Tener las llaves en las líneas por sí mismas ayuda a separar visualmente la parte interior de la parte exterior. Eso hace que sea más fácil escanear rápidamente el código fuente y distinguir los bloques de su entorno.

Además, tener las llaves en el mismo nivel de sangría hace que sea más fácil para el ojo encontrar una coincidencia.

3

citan a menudo razones son:

  • más fácil para que coincida con llaves de apertura y cierre (para el primer ejemplo)
  • no pierda la otra línea (para que pueda adaptarse más líneas de código en la pantalla - el segundo ejemplo)

Como han dicho otros: si trabajas en código de terceros, simplemente sigue sus convenciones. Si trabaja con su propio código, simplemente use el estilo que encuentre mejor.

1

Ya hay varios temas sobre este tema muy subjetivo ...

Algunas personas son un apasionado de ella, personalmente, he elegido la opción de "lectura" de la alineación de los apoyos (no pago de bienes inmuebles utilizados por mi código en la pantalla ... así que la compacidad no me interesa) pero cuando contribuyo a un proyecto que usa otro estilo, solo uso el que está alrededor de mi contribución.
Lo mismo para el tamaño de la pestaña, duro frente a suave, etc.

0

La verdadera razón es tener un código de apariencia uniforme en toda la base de código. Ambos estilos tienen sus ventajas, cuyo estilo es "mejor" depende de las preferencias personales y de lo que se ha usado "tradicionalmente" en el lenguaje y el proyecto.

Si se prescribe un estilo de llaves, utilícelo; de lo contrario, use lo que se estaba utilizando antes de llegar. Si está comenzando un nuevo proyecto, use lo que normalmente se usa en el idioma de su elección.

Lo mismo ocurre con las pestañas vs. espacios.

3

Creo que el estilo de codificación y las convenciones de nomenclatura en proyectos personales o de equipo son en su mayoría una cuestión de gusto personal (aunque es sabio que un equipo adopte un estilo de codificación único y convenciones de nomenclatura).

Personalmente, me gusta seguir la convención Allman Style, ya que me da una visión general rápida de mi código y estructura de sangría. Claro, le costará algunas líneas adicionales en su código, pero no creo que eso tenga en cuenta las ventajas.

buenos recursos en esta materia son los siguientes artículos de la Wikipedia:

Indent Style

Programming Style

Naming Conventions

0

¿Es importante que el estilo corsé se utiliza? No. ¿Importa que todos los que trabajen en el mismo proyecto o archivo fuente usen el mismo estilo de llave? No; no solo no importa, sino que es útil si los estilos de llaves varían de un codificador a otro, incluso en el mismo archivo.

"¿Por qué exactamente hace este pedazo de código hacer esto?"

"No lo sé. Está en la letra de Kevin. Vamos a preguntarle".

Cuestiones relacionadas