Top Ad unit 728 × 90

Recientes

recent

Técnicas para escribir código fuente legible y mantenible

Cualquiera puede aprender a programar, pero siempre es bueno escribir un código entendible y mantenible en el tiempo.
En este artículo se muestran un conjunto de técnicas que permiten mejorar la legibilidad de nuestro código fuente.

El propósito de escribir código mantenible es facilitar la comprensión del mismo tanto para nosotros mismos como para otros desarrolladores. Esto, por supuesto, hace menos sencilla la incorporación de nuevo personal al proyecto, disminuye la complejidad al incluir nuevos módulos y reduce los tiempos en nuestra planificación.

Técnicas

Según MDSN, hay tres tipos de técnicas:

Nombres
Comentarios
Y formato.

1. Nombres Consistentes


Los nombres influencian mucho la interpretación que le damos a nuestro código fuente. Imaginemos una variable llamada “sum” nos da a entender que almacena una suma. Sin embargo, en programación debemos ser más específicos, la idea es proporcionar la mayor cantidad de información al lector sin depender tanto del contexto. Por ejemplo, si llamamos a la variable “sumaNotas”, en lugar de “sum”, el lector entenderá de la mejor manera el significado de esa variable.

Convención de Nombres

También es muy importante el el uso consistente de una convención de nombres. Las más usadas son “Camel Case” y “Pascal Case”. 

camel Case propone que los nombres empiecen con minúscula y luego concatenar cada palabra con mayúscula en la primera letra (Ej: calcularTotalFactura()). 

Pascal Case es igual solo que con mayúscula en la primera letra (Ej: CalcularTotalFactura()). 

*Eso si, utiliza una a la vez, no varias en un mismo proyecto, preferiblemente utiliza la convención que usa el lenguaje en el que programas o framework que utilizas.

Algo que se ve muy a menudo en el mundo laboral es la variedad de idiomas en los que programa la gente. Hay que ser consistentes en el idioma en que se va a programar un proyecto, si no veremos cosas como “eliminarUsuario()”, y luego dos lineas más abajo “findUser()”, y en el peor de los casos “destroyAmigo()”. Olvidemonos de nuestro “Spanglish” por un momento.

A continuación, algunas técnicas más especificas para mejorar nuestros nombres de símbolos:

Funciones
  • Resumiendo, evitemos ambigüedades, calcularPromedio() es mejor que calcular().
  • Evitar redundancia. Por ejemplo, un atributo de la clase Persona, no debería llamarse “idPersona”, con solo “id” basta.
  • Utiliza nombres que den idea del valor que retornan, por ejemplo, getNombre(), calcularIgv().
Variables
  • Las variables de tipo boolean, deberían empezar con el prefijo “is”. Como casi siempre las creamos para ser evaluadas en los condicionales (Ej: if), mejora bastante la legibilidad utilizar algo como if (isComplete) {.
  • Usa nombres, en lo posible, que den una idea del tipo de dato de la variable, por ejemplo, edad: int, nombre: string, altura: float.
  • Evita utilizar nombres con caracteres especiales como $, %, para indicar el tipo de dato.
  • Evitar usar nombres como a, b, c, d, i, j, k; utiliza nombres que tengan un significado.
2. Comentarios

Los comentarios ayudan a documentar el código. Esto es de suma importancia, ya que no importa cuan buenos sean los nombres de nuestras variables, funciones o clases, siempre se requiere de una explicación para entender mejor la lógica del código.

Un comentario como el siguiente es redundante, no agrega valor y molesta a la hora de leer el código. Esos tipos de comentarios deben ser evitados.

// función que muestra error
function mostrarError (error) {
    ...
}

3. Formato

El formato del código hace que la organización lógica sobresalte. Esto favorece nuestro entendimiento (para cuando ya no nos acordemos que hicimos – porque pasa…) y el entendimiento de otros programadores.

Algunas técnicas:
  • Utiliza una cantidad fija de espacios para el indentado. Yo recomiendo seguir la convención de cada lenguaje: en Javascript se suelen usar 2 espacios; en Java, C#, Objectice-C, Swift, se suele usar 4 espacios.
  • Alinea las llaves con los bloques de código que cierran, y utiliza la convención del lenguaje: En Javascript abren a la derecha, Ej: 

// javaScript
if (nombre === "carlos" {

// hacer algo
}

  • En C# en la línea de abajo. Ej:

// C#
if (String.Compare(nombre, "carlos")
{
// hacer algo
}
  • Demasiados niveles de anidamiento pueden hacer al código difícil de leer y mantener. Por ejemplo:

function workflow() {
    if(paso1()) {
        if(paso2()) {
            if(paso3()) {
                if(paso4()) {
                    if(paso5()) {
                        ...
                    } else {
                        return false;
                    }
                } else {
                    return false;
                }
            } else {
                return false;
            }
        } else {
            return false;
        }
    } else {
        return false;
    }
}
Puede simplificarse de la siguiente manera:
function workflow() {
    if(!paso1()) {
        return false;
    }

    if(!paso2()) {
        return false;
    }

    if(!paso3()) {
        return false;
    }

    if(!paso4()) {
        return false;
    }

    if(!paso5()) {
        return false;
    }
}

Recomendaciones Finales
  • Utiliza variables del tamaño que sean necesarias. En c# a veces un short (entero de 16 bits) puede ser suficiente y no necesitas un int (entero de 32 bits)
  • Mantén el alcance de una variable lo más corto posible para evitar confusiones.
  • Utiliza funciones y variables para un solo propósito.
  • Utiliza solo la cantidad de atributos públicos en una clase como sean necesarios, es mejor crear atributos privados para favorecer al encapsulamiento.
  • Evita escribir código SQL del lado de la aplicación, utiliza un ORM.
  • Captura los errores usando try-catch-finally. Ayudará a hacer más robusta tu aplicación.
  • Utiliza logs, te ayudarán a identificar errores.
  • Evita las variables globales en lo posible.
Conclusión

Utilizar técnicas consistentes y buenas prácticas de programación mejoran nuestro código y por tanto la mantenibilidad, entendimiento, extensión y calidad de nuestra aplicación.

Saludos Imperio, un abrazo a la distancia!!!. 

Fuente: http://www.m.betaclick.es/posts/dise%C3%B1oyprogramaci%C3%B3nweb/232/Como-escribir-c-digo-mantenible.html

Técnicas para escribir código fuente legible y mantenible Reviewed by Juan Carlos Arcila Díaz on 8:49 Rating: 5

No hay comentarios:

All Rights Reserved by www.IncanatoIT.com - Desarrollando Software © 2014 - 2015
Powered By Blogger, Designed by Sweetheme

Formulario de contacto

Nombre

Correo electrónico *

Mensaje *

IncanatoIt.com. Con la tecnología de Blogger.