- Estilo de programación
-
Estilo de programación
Estilo de programación (también llamado estándares de código o convención de código) es un término que describe convenciones para escribir código fuente en ciertos lenguajes de programación.
El estilo de programación es frecuentemente dependiente del lenguaje de programación que se haya elegido para escribir. Por ejemplo el estilo del lenguaje de programación C variará con respecto al del lenguaje BASIC.
Contenido
Características del estilo
El buen estilo, al tratarse de algo subjetivo, es difícil de categorizar concretamente; con todo, existen un número de características generales. Con el advenimiento de software que da formato al código fuente de forma automática, el foco en cómo éste debe de ser escrito debe evolucionar de forma más amplia a la elección de nombres, lógica y otras técnicas. Desde un punto de vista práctico, el uso de un computador para dar formato al código fuente ahorra tiempo, y es posible forzar el uso de estándares a nivel de una compañía completa sin debates religiosos.
Nombres de variable apropiadas
Una piedra clave para un buen estilo es la elección apropiada de nombres de variable. Variables pobremente nombradas dificultan la lectura del código fuente y su comprensión.
Como ejemplo, considérese el siguiente extracto de pseudocódigo:
get a b c if a < 24 and b < 60 and c < 60 return true else return false
Debido a la elección de nombres de variable, es difícil darse cuenta de la función del código. Compárese ahora con la siguiente versión:
get horas minutos segundos if horas < 24 and minutos < 60 and segundos < 60 return true else return false
La intención el código es ahora más sencilla de discernir, "dado una hora en 24 horas, se devolverá true si es válida y false si no".
Estilo de indentación
Estilo de indentación, en lenguajes de programación que usan llaves para indentar o delimitar bloques lógicos de código, como por ejemplo C, es también un punto clave el buen estilo. Usando un estilo lógico y consistente hace el código de uno más legible. Compárese:
if(horas < 24 && minutos < 60 && segundos < 60){ return true; }else{ return false; }
ó bien:
if(horas < 24 && minutos < 60 && segundos < 60) { return true; } else { return false; }
con algo como:
if(horas<24&&minutos<60&&segundos<60){return true;} else{return false;}
Los primeros dos ejemplos son mucho más fáciles de leer porque están bien indentados, y los bloques lógicos de código se agrupan y se representan juntos de forma más clara.
Valores booleanos en estructuras de decisión
Algunos programadores piensan que las estructuras de decisión como las anteriores, donde el resultado de la decisión es meramente una computación de un valor booleano, son demasiado prolijos e incluso propensos al error. Prefieren hacer la decisión en la computación por sí mismo, como esto:
return horas < 12 && minutos < 60 && segundos < 60;
La diferencia es, con frecuencia, puramente estilística y sintáctica, ya que los compiladores modernos producirán código objeto idéntico en las dos formas.
Bucles y estructuras de control
El uso de estructuras de control lógicas para bucles también es parte de un buen estilo de programación. Ayuda a alguien que esté leyendo el código a entender la secuencia de ejecución (en programación imperativa). Por ejemplo, el siguiente pseudocódigo:
cuenta = 0 while cuenta < 5 print cuenta * 2 cuenta = cuenta + 1 endwhile
El extracto anterior cumple con las dos recomendaciones de estilo anteriores, pero el siguiente uso de la construcción for hace el código mucho más fácil de leer:
for cuenta = 0, cuenta < 5, cuenta=cuenta+1 print cuenta * 2
En muchos lenguajes, el patrón frecuentemente usado "por cada elemento en un rango" puede ser acortado a:
for cuenta = 0 to 5 print cuenta * 2
Espaciado
Los lenguajes de formato libre ignoran frecuentemente los espacios en blanco. El buen uso del espaciado en la disposición del código de uno es, por tanto, considerado un buen estilo de programación.
Compárese el siguiente extracto de código C:
int cuenta; for(cuenta=0;cuenta<10;cuenta++){printf("%d",cuenta*cuenta+cuenta);}
con:
int cuenta; for (cuenta = 0; cuenta < 10; cuenta++) { printf("%d", cuenta * cuenta + cuenta); }
En los lenguajes de programación de la familia C se recomienda también evitar el uso de caracteres tabulador en medio de una línea, ya que diferentes editores de textos muestran su anchura de forma diferente.
El lenguaje de programación Python usa indentación para indicar estructuras de control, por tanto se requiere obligatoriamente una buena indentación. Haciendo esto, la necesidad de marcar con llaves ({ y }) es eliminada, y la legibilidad es mejorada sin interferir con los estilos de codificación comunes. Con todo, esto lleva frecuentemente a problemas donde el código es copiado y pegado dentro de un programa Python, requiriendo un tedioso reformateado. Adicionalmente, el código Python se vuelve inusable cuando es publicado en un foro o página web que elimine el espacio en blanco.
Véase también
- Estilo de indentación
- Bug
Enlaces externos
Convenciones de código en castellano
Convenciones de código en inglés
- Convenciones de código para el lenguaje Java (traducción al español)
- Guía de estilo para código Python (traducción al español)
- Estandar de código: C# (Philips Medical Systems)
- Estilo de programación para Mono
- Guía de calidad y estilo Ada 95: Directrices para programadores profesionales
- Guía de estilo programación Java
- Estándares de código Java de Ambysoft
- Estándares de código de PHP::Pear
- Estándares de código Symbian OS C++
Convenciones de código de proyectos
- Estándares de codificación de GNU
- Guía de estilo para codificación en Mozilla
- Guía de estilo para el núcleo Linux
- Guía de estilo para el código de NetBSD
Categoría: Programación
Wikimedia foundation. 2010.