Convenio de codificación general

LIBP-0008 (Libro de pautas)

Las siguientes indicaciones ayudan a generar un código más eficiente, claro y fácil de mantener, siendo aplicables independientemente del lenguaje de programación que se utilice

Es muy común que el estilo de programación dependa, en gran medida, del lenguaje de programación que se haya elegido para desarrollar la aplicación, pero hay una serie de convenciones válidas para cualquier tipo de lenguaje.

Pautas

TítuloCarácter
Nomenclatura de métodos, funciones y procedimientosObligatoria
Nomenclatura de variablesObligatoria
Nomenclatura de constantesObligatoria
Tamaño del código fuenteObligatoria
Tamaño de los métodosObligatoria
Tamaño de líneaObligatoria
Expresiones largasObligatoria
AlineaciónObligatoria
Líneas en blancoObligatoria
Espacios en blancoObligatoria
Variables booleanasObligatoria
Estructuras de control lógicasObligatoria
Números mágicosNo Recomendada
Número máximo de parámetrosObligatoria
Búsqueda por cadenas de textoObligatoria
Codificación UTF-8Obligatoria
Código autodocumentadoObligatoria
Aumento de la comprensiónObligatoria
Comentarios por bloquesObligatoria
Comentarios en elementosObligatoria
Instrucciones por línea de códigoObligatoria

Nomenclatura de métodos, funciones y procedimientos

Nombrar a los métodos, funciones y procedimientos describiendo la acción que realizan.

Los métodos, funciones y procedimientos se nombrarán describiendo la acción que realizan mediante el uso de verbos. La primera letra del nombre deberá estar en minúsculas. Si el nombre está formado por más de una palabra, a partir de la segunda palabra la primera letra deberá estar en mayúsculas.

Nomenclatura de variables

Utilizar nombres de variables sencillos y comprensibles

Es necesario nombrar las variables de manera que facilite la comprensión del código fuente, manteniendo una cierta lógica dentro del modelo de negocio que representan. Se utilizarán sustantivos escritos en minúsculas. Si el nombre de la variable está formado por más de una palabra, a partir de la segunda palabra, la primera letra de cada palabra deberá estar en mayúsculas. De esta manera, el desarrollador obtendrá un código más intuitivo y sencillo de mantener.

Nomenclatura de constantes

Nombrar las constantes siempre en mayúsculas.

Las constantes deben nombrarse todas en mayúsculas, separando las palabras que formen parte del nombre con el carácter de subrayado (_).

Tamaño del código fuente

Controlar el tamaño del código en número de líneas

Se debe controlar el tamaño del código fuente estructurado. Éste no debe sobrepasar las 2000 líneas de código ya que el superar esta extensión indicará que, probablemente, se está empleando un mal diseño.

Tamaño de los métodos

No superar las 100 líneas de código en los métodos

La longitud de un método no debe exceder de cien líneas de código sin una causa justificada, intentando no agrupar excesiva funcionalidad dentro del mismo. El superar esta longitud provoca que la detección de un error sea compleja, dificultando la legibilidad y el mantenimiento del código.

Tamaño de línea

Usar una longitud de línea de no más de 100 caracteres

Se deben programar líneas que, como máximo, tengan una longitud de 100 caracteres, lo que hace que el código sea más práctico y eficiente. En cada línea sólo irá una instrucción, para evitar que la comprensión del código sea dificultosa.

Expresiones largas

Cortar en diferentes líneas aquellas expresiones que sean muy largas

El corte en las expresiones muy largas se realizará de tal forma que no se pierda la legibilidad, dividiendo la línea tras una coma o antes de un operador.

Alineación

Utilizar sangrías y tabulaciones para facilitar la lectura del código

Se debe usar un estilo de sangría en lenguajes de programación para tabular o delimitar bloques lógicos de código. Usando un estilo lógico y consistente se consigue que el código realizado sea más legible. El estilo de sangría se propone en los convenios específicos de cada lenguaje en particular.

Líneas en blanco

Utilizar líneas en blanco para agrupar secciones de código que estén lógicamente relacionadas

Se deben emplear líneas en blanco para separar distintos bloques de código, de manera que se agrupen líneas de código que estén relacionadas. Por ejemplo, deben emplearse parar separar distintas declaraciones de clases o métodos entre ellas o, dentro de una clase, para separar la declaración de la última variable de la del primer método. Además, se deberán utilizar líneas para separar los comentarios de cabecera del fichero del resto del contenido del fichero.

Espacios en blanco

Espaciar el código para mejorar su comprensión

Se utilizarán espacios en blanco tras una palabra reservada y su paréntesis asociado. También entre una palabra reservada, o un paréntesis de cierre, y una apertura de llaves. Otros casos en los que se utilizarán un espacio en blanco son tras una coma en una lista o tras un punto y coma en una sentencia for. No se utilizará un espacio en blanco entre el nombre de un método y la apertura de su paréntesis o tras la apertura o cierre de paréntesis o corchetes.

Variables booleanas

Usar variables booleanas en estructuras de decisión

En estructuras de decisión es necesario el uso de variables booleanas, ya que la no utilización de estas variables provoca que el código sea más complejo y difícil de entender, provocando incluso algunos errores en su concepción.

Estructuras de control lógicas

Usar iteraciones para hacer el código más legible

El uso de estructuras de control lógicas para bucles también es parte de un buen estilo de programación. Ayuda a quien esté leyendo el código a entender la secuencia de ejecución (en programación imperativa).

Números mágicos

Usar constantes en expresions condicionales o comprobación de código en vez de valores numéricos sin identificar.

Es obligatorio que, cada vez que se necesite hacer uso de un valor numérico concreto en el código, este valor se almacene en una constante. Esto indica el origen del valor numérico y reduce el coste de mantenimiento ante cualquier modificación que afecte a la estructura. 

Número máximo de parámetros

No sobrecargar métodos con más de diez parámetros

Las llamadas a los métodos no deben contener más de 10 parámetros si no existe una causa justificada para ello. De esta manera, se asegura que los métodos no se encuentran sobrecargados de funcionalidad, favoreciendo el mantenimiento eficiente del código.

Búsqueda por cadenas de texto

No hacer discriminación por mayúsculas, minúsculas o acentuación en la búsqueda de cadenas de texto.

Cuando se elaboren búsqueda por cadenas de texto no se debe hacer discriminación por mayúsculas, minúsculas o acentuación a la hora de obtener los registros asociados a la búsqueda.

Codificación UTF-8

Usar codificación UTF-8 siempre que sea posible

Es obligatorio emplear la codificación de caractéres UTF-8 siempre que el fichero lo permita. El empleo de esta codificación facilita la portabilidad y evitará futuros problemas en la generación de código fuente documentado.

Código autodocumentado

Desarrollar el código lo más autodocumentado posible

Hay que usar nombres sencillos y descriptivos a la hora de desarrollar el código para hacer la lectura mucho más fácil. Los comentarios deben ser sólo una herramienta para decir lo que no se puede decir en el código, de modo que se pueda entender lo que dice sin necesidad de indicarlo en otro lenguaje.

Aumento de la comprensión

Proporcionar comentarios que aumenten la comprensión

Los comentarios deben favorecer la riqueza de la comprensión y no introducir una mayor complejidad en la comprensión del código.

Comentarios por bloques

Realizar los comentarios por bloques de código

Los comentarios se realizarán por bloques, minimizando los comentarios por líneas, salvo aclaraciones en un código complejo o para reflejar la importancia de una línea dentro de la ejecución del código. Estós comentarios se harán al final de la línea.

Comentarios en elementos

Comentar las interfaces, las clases y los métodos para documentar el código

Se comentarán las interfaces, las clases y los métodos para que el código quede documentado de forma clara y concisa, facilitando así la legibilidad y el mantenimiento del código.

Instrucciones por línea de código

Cada línea contendrá una sóla instrucción

En cada línea sólo irá una instrucción, para evitar que la comprensión del código sea dificultosa.