Estilo de programación

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

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.

Características del estilo[editar]

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. vero

Nombres de variable apropiadas[editar]

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[editar]

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;
}

o 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[editar]

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[editar]

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[editar]

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[editar]

Enlaces externos[editar]

Convenciones de código en castellano[editar]

Convenciones de código en inglés[editar]

Convenciones de código de proyectos[editar]