El estilo programado refiere a un sistema de reglas o de pautas usadas al escribir el código fuente para un programa de computadora . Se demanda a menudo que lo que sigue un estilo programado particular ayudará a los programadores rápidamente a leer y a entender código fuente conforme a el estilo así como la ayuda evitar introducir averías.

Un trabajo clásico sobre el tema era los elementos del estilo programado, escritos en los años 70, e ilustrados en gran parte con ejemplos de la lengua del FORTRAN frecuente en ese entonces.

El estilo programado usado en un programa particular se puede derivar de los estándares de la codificación del o de las convenciones de código del de la compañía o de la otra organización computacional, así como las preferencias del autor del código. Los estilos programados se diseñan a menudo para un lenguaje de programación específico (o la familia de lengua), pero algunas reglas se aplican comúnmente a muchas idiomas. (El estilo consideraba bueno en código fuente C puede no ser apropiado para el código fuente del BASIC, y así sucesivamente.)

Elementos del buen estilo

El buen estilo, siendo una cuestión subjetiva, es difícil concreto de categorizar; sin embargo, hay varios elementos comunes a una gran cantidad de estilos programados. Las ediciones consideradas generalmente como parte de estilo programado incluyen la disposición del código fuente, incluyendo la muesca; el uso del espacio blanco alrededor de operadores y de palabras claves; la capitalización o de otra manera de palabras claves y de nombres variables; el estilo y el deletreo de identificadores definidos por el usario, tales como función, procedimiento y nombres variables; el uso y el estilo de los comentarios ; y el uso o la evitación de la programación se construye (tales como declaraciones INDICADAS ).

Cifrar el aspecto

Los estilos programados se ocupan comúnmente con la aparición de código fuente, de la meta de mejorar la legibilidad del programa. Sin embargo, con el advenimiento del software que da formato a código fuente automáticamente, el foco en aspecto rendirá probablemente a un mayor foco en el nombramiento, la lógica, y técnicas más altas. Como punto práctico, usar una computadora dar formato a código fuente ahorra tiempo, y es posible entonces hacer cumplir estándares empresariales sin los discusiones .

Melladura

Ayuda de los estilos de la mella en la identificación de flujo de control y de bloques de código. En los lenguajes de programación que utilizan la muesca para delimitar bloques lógicos de código, el estilo de la muesca afecta directo al comportamiento del programa resultante. En otras idiomas, tales como los que utilicen los soportes para delimitar bloques del código, el estilo de la muesca no afecta directo al producto. En lugar, usar una muesca lógica y constante el estilo hace código más legible. Comparar:

lang=" del si (las horas < 24 && minutan < 60 segundos del && < 60) { de vuelta verdad; } { falso de vuelta; } o lang=" del si (las horas < 24 && minutan < 60 segundos del && < 60) { de vuelta verdad; } { falso de vuelta; } con algo tener gusto ¡siguiente del código mis-está mellado intencionalmente. No hace el " fix" él para utilizar la muesca correcta. --> lang=" del si (las horas < 24 && minutan < 60 segundos del && < 60) { de vuelta verdad; } { falso de vuelta; }

Los primeros dos ejemplos son probablemente mucho más fáciles de leer porque se mellan de una manera establecida (un " paragraph" colgante; estilo). Este estilo de la muesca es especialmente útil al ocuparse de las construcciones jerarquizadas múltiples.

Este ejemplo se idea algo, por supuesto; todos los antedichos son equivalentes a la declaración más sucinta

lang=" del return (horas < 24) (minutos < 60) (segundos < 60);

El pitón utiliza la muesca para indicar las estructuras de control, así que la muesca correcta es requerido . Haciendo esto, la necesidad de acorchetar con el que se eliminan los apoyos rizados ({y}), y legibilidad es mejorada mientras que no interfiere con estilos de codificación comunes. Esto puede llevar a los problemas donde el código se copia y se pega en un programa del pitón, porque el nivel de la muesca del código pegado puede no ser igual que el nivel de la muesca de la línea en el código en el cual se está pegando. Tal cambio de formato es aburrido de hacer a mano, pero algunos editores de textos y el IDEs tienen características para hacerlo automáticamente. Además, el código del pitón puede ser hecho inutilizable cuando está fijado en un foro o un Web page que quita el whitespace: en Web pages, el código del pitón se debe incluir en " < pre> … < /pre> " el HTML marca con etiqueta para ser exhibido correctamente.

El Haskell tiene semejantemente la regla Off-side que deja la muesca definir bloques; sin embargo, desemejante en de pitón, la muesca no es obligatoria en el &mdash de Haskell; los apoyos rizados y los puntos y comas pueden (y estar de vez en cuando) ser utilizados en lugar de otro.

Alineación vertical

Es a menudo provechoso alinear elementos similares verticalmente, para hacer insectos error-generados más obvios. Comparar: lang=" del $search = arsenal (“a”, “b”, “c”, “d”, “e "); $replacement = arsenal (“foo”, “barra”, “baz”, “quux ");

con: lang=" del $search = arsenal (“a”, “b”, “c”, “d”, “e "); $replacement = arsenal (“foo”, “barra”, “baz”, “quux ");

El 3ultimo ejemplo hace dos cosas intuitivo claras que no estaban claro en el anterior:
la búsqueda y substituye términos es relacionada y fósforo para arriba: no son variables discretas;
hay un más término de la búsqueda que hay términos del reemplazo. Si esto es un insecto, es más probable ahora ser manchado.

Discusiones contra de la alineación dificultad vertical de la demanda generalmente en mantener la alineación.

Espaciamiento

Las gramáticas de la mayoría de las idiomas del Libre-formato son sobre todo despreocupadas con la presencia o la ausencia de Whitespace . Haciendo el buen uso del espaciamiento en la disposición del código por lo tanto se considera bueno programando estilo.

Comparar los ejemplos sintácticamente equivalentes siguientes del código de C.

lang=" del internacional i; para (i=0; i<10; ++i) { printf (" %d", i*i+i); } contra lang=" del internacional i; para (i = 0; i < 10; ++i) { printf (" %d", i*i + i); }

También se recomienda para evitar usar carácteres de lengüeta en el medio de una línea mientras que diversos editores de textos rinden su anchura diferentemente.

Nombramiento, lógica, y técnicas más altas

Nombres variables apropiados

Las opciones apropiadas para los nombres variables se consideran como la piedra angular para el buen estilo. las variables Pobre-nombradas hacen código más duro leer y entender.

Por ejemplo, considerar el recorte siguiente del Pseudocode : lang=" del el consigue a un b c si a < 24 y b < 60 y c < 60 de vuelta verdad otro de vuelta falso

Debido a la opción de nombres variables, la función del código es difícil de resolverse. Sin embargo, si los nombres variables se hacen más descriptivos: lang=" del el consigue segundos de los minutos de las horas de el si las horas de < 24 y minuta < el 60 y secunda < 60 de vuelta verdad otro de vuelta falso

el intento del código es más fácil discernir, a saber, el " Dado un rato de 24 horas, verdad será vuelto si es un rato válido y un otherwise" falso;.

Valores boleanos en estructuras de decisión

Algunos programadores piensan las estructuras de decisión tales como el antedicho, donde está simplemente cómputo el resultado de la decisión de un valor boleano, han terminado prolijos e incluso error propenso. Prefieren tener la decisión en el cómputo sí mismo, como esto:

lang=" del return (horas < 12) (minutos < 60) (segundos < 60);

La diferencia es a menudo puramente estilística y sintáctica, pues el código de objeto idéntico del producto moderno de los recopiladores para ambas formas.

Sin embargo, una discusión a favor del anterior es que algunas depuraciones permiten que usted camine línea por línea: si su prueba también causara cambios a las variables que usted probaba, y usted quisiera examinar los valores de todas las variables después que prueban, después solamente el método anterior permitiría que eso fuera eliminada errores. Estes 3ultimo no permitirían que su depuración alcanzara una línea " después del test" donde todavía existieron esas variables.

Comparaciones izquierdas

En las idiomas que utilizan un solo = para la asignación y un == doble para la comparación, y donde las asignaciones se pueden hacer dentro de las estructuras de control, a veces se considera bueno programando estilo para poner constantes a la izquierda en cualquier comparación. Las líneas siguientes son funcionalmente idénticas: lang=" del si (== verdadero $a) {…} si (== de $a verdad) {…}

Sin embargo, de los dos que siguen, las líneas typoed, el primer son un error de sintaxis que será diagnosticado por el intérprete, mientras que este 3ultimo es un insecto sutil que fija el valor de $a para ser verdad, después evalúa para verdad. lang=" del si (verdad = $a) {…} si ($a = verdad) {…}

Estructuras de la colocación y de control

El uso de las estructuras de control lógicas para colocar agrega a bueno programando estilo también. Ayuda alguien código de la lectura a entender la secuencia del programa de ejecución (en idiomas programadas imprescindible ). Por ejemplo, en pseudocode:

lang=" del i = 0 mientras que i < 5 impresión i * 2 del i = i + 1 extremo del mientras que

El recorte antedicho obedece las pautas del estilo del nombramiento y de la muesca, pero el uso siguiente del " for" la construcción hace el código mucho más fácil leer:

lang=" del para i = 0, i < 5, i=i+1 impresión i * 2 del

En muchas idiomas, el " de uso frecuente; para cada elemento en un range" el patrón se puede acortar:

lang=" del para el de i = 0 a 5 impresión i * 2 del " de la impresión ; Loop" terminado;

En los lenguajes de programación de la llave, ha llegado a ser común para que los documentos del estilo requieran eso incluso donde opcional, las llaves se coloque después de que todas las construcciones del flujo de control .

lang=" del para (i = 0 a 5) { impresión i * 2 del ; } " de la impresión ; Loop" terminado; ;

Esto previene programa-fluye los insectos que pueden ser desperdiciadores de tiempo rastrear, por ejemplo donde un punto y coma terminal se introduce en el extremo de la construcción (un error tipográfico común): lang=" del para (i = 0; i < 5; ++i); printf (" %d \ n", i*2); /* la muesca incorrecta oculta el hecho de que esta línea no es parte del cuerpo de lazo. * printf (" Loop" terminado;);

… o donde otra línea se agrega antes del primer: lang=" del para (i = 0; i < 5; ++i) fprintf (archivo de registro, " el lazo alcanzó %d \ el n", i); printf (" %d \ n", i*2); /* la muesca incorrecta oculta el hecho de que esta línea no es parte del cuerpo de lazo. * printf (" Loop" terminado;);

Listas

Donde los artículos en una lista se ponen en líneas separadas, a veces se considera buena práctica de agregar el artículo-separador después del artículo final, así como entre cada artículo, por lo menos en esas idiomas donde el hacer tan es apoyado por el sintaxis (e.g, C ):

lang=" del carbón de leña del const *array = { " item1", " item2", " item3" ,/* todavía tiene la coma después de él * };

Esto previene errores de sintaxis o insectos sutiles del secuencia-encadenamiento cuando se reordenan los artículos de la lista o más artículos se agregan al extremo, sin el programador que nota el " missing" separador en la línea que estaba previamente por último en la lista. En otras idiomas, tales como ECMAScript, sin embargo, esta práctica es un error de sintaxis, así que los programadores deben evaluar la lengua objetivo antes de adoptar esta técnica.

Ver también

Convención de nombramiento del identificador
Estilo de la mella
Estándares de la codificación del GNU
Límite de Hrair

.

  • Zenithic
  • Ayya Khema
    Random links:Batley | Araña de mar | Dave Hyatt | Lysochrome | Ælfthryth, condesa de Flandes

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">