Chequéanos en Facebook Síguenos en Twitter Agrega a tus Circulos Subscríbete a mi RSS feeds

miércoles, 16 de julio de 2014

Buenas Prácticas para Escribir Código Elegante


Esto es una lista de recomendaciones para desarrolladores principiantes.


Muchas veces los programadores principiantes se preguntan por que otros programan más rapido. La razón, entre otras, está en escribir código elegante. Esto es código legible. La menor cantidad de código que tenga que escribir, la menos posibilidad de que salga mal. 

  • Cuando se usa buenos nombres de variables, eso ayuda a pensar claramente sobre el problema. 
  • Cuando escribo pequeñas rutinas en vez una gran pieza monolitica, entonces tendré pequeñas piezas que probar y entender. 
  • Cuando defino constantes en vez de números mágicos, se me hace mas fácil probar el programa con pequeñas muestras antes de tratarlas en el data set completo. 
  • Cuando pruebo para encontrar situaciones anormales, me ahorra horas buscando errores. Un buen diseño ahorra tiempo.

El estilo en la programación varía dependiendo del entorno (lenguaje de programación).

1. Usa identificadores significativos. Identificadores que expliquen claramente el valor que contienen incrementa grandemente que tan leible y claro tu programas. 

Reusar una variable para dos valores distintos, digamos 'suma' y 'porciento', es una mala práctica porque el nombre de la variable no puede especificar el cambio en su significado.
  • Identificadores cortos deberian ser usado para indices en loops.
  • Usa mayuscula o underscore (rayita abajo) en identificadores de varias palabras (ej.: pagoMensual o pago_mensual). 
  • Usa sustantivos para nombrar objetos tales como variables, constantes y tipo (ej.: pagado, MAX, Colores).
  • Desde C++, se ha vuelto recomendable usar mayusculas para nombrar constantes.
  • Usa verbos para nombrar métodos o funciones (ej.: acceptaDatosCliente).
  • Usa formas del verbo 'ser o estar' para funciones o variables booleanas (ej.: esZero, seEncuentra, estaActivo).

2. Evita estructuras anidadas muy profundas. Tres es muchas veces considerada una buena profundidad de anidamiento. Si se necesita mas, pon parte del código en un metodo separado.


3. Suponiendo que uses un editor de texto sin auto-indentación para escribir tu código, indenta para mostrar anidamiento de estructuras o código.

4. Usa comentarios. 
  • Usa comentarios para explicar cada variable declarada (excepto indices).
  • Usa comentarios al principio de cada metodo o función, incluyendo el metodo main. Los comentarios al principio del programa deberia ser para especificar propósito, formato de entrada, salidas que produce, autor, e información escrita, del programa.
  • Comenta para explicar cada parámetro Es necesario para documentación apropiada.
  • Los comentarios deberian estar en una linea separada en vez de en la misma linea de código.

5. Separa el programa en modulos que representen componentes lógicos. Si un modulo se extiende a mas de una página o dos, deberias considerar dividirlo mas. Pero que siempre (como recomendable buena práctica de Ingenieria de Software) la aplicación completa con todos sus modulos mantenga una alta cohesión pero un bajo acoplamiento. 

Quiere decir que las operaciones pertinentes a un módulo deben ser realizadas en ese mismo módulo, y que solo haya la necesaria comunicación inter-módulos, como pasar un resultado, etc, no que un modulo realice operaciones que tienen que ver exclusivamente con otro.


6. La salida del programa debe tener espacio apropiado, y ser claramente etiquetado con un titulo y encabezados de columna. Eres el responsable de decidir que forma de salida es mas útil. La salida debe ser como un reporte final para tu jefe.

7. Cuando esperas que el usuario provea entrada de información desde el teclado, debes desplegar peticiones significativas y claras tal como:

8. Evita incluir librerias innecesarias.

Si tu, como experto, tienes alguna otra recomendación, por favor, sientete libre de sugerirla en la sección de comentarios.



No hay comentarios.:

Publicar un comentario

Share English German French Arabic Chinese Simplified