Buenas Prácticas en Programación

7 November 2016 09:57 PM por Luis (Güette) Güette

Ciudad inteligente

En la actualidad, el desarrollo de software ha tomado un papel muy importante en el desarrollo de una empresa, ya que de una u otra forma, sus productos están ligados a un software, muchas empresas de tecnología dependen de ello. Sin embargo, si dicho software no está bien desarrollado, esto podría llevar a la empresa por un mal camino y sus productos perderían credibilidad.

 

Por esto, es necesario implementar buenas prácticas cuando se desarrolla un software en cualquier lenguaje de programación. Empezaremos primero con una pequeña lista de recomendaciones:

 

Mantener una tabulación consistente. Seguro ya sabrán que es una buena práctica tabular su código, pero también es importante mantener una consistencia en la misma.

 

Evitar comentarios obvios. Comentar tu código está bien, pero se debe evitar ser redundante.

 

Agrupación de código: Frecuentemente, tareas específicas requieren pocas líneas de código y es buena idea mantener estas tareas en bloques separados.

 

Tener una convención de nombres: Como por ejemplo, camelCase en el cual las primeras letras están en mayúsculas, excepto la primera o underscores en el cual se utilizan “_” para separar las palabras.

 

Principio DRY “Don’t Repeat Yourself”: Este principio debe mantenerse en todo el código, no se debe repetir un mismo segmento de código varias veces.

 

Limitar el largo de las líneas de código: Es mas cómodo para las personas leer líneas de corta longitud, es una buena práctica evitar escribir largas líneas de código.

 

Organización de carpetas y archivos: Siempre es bueno tener estructurado tu código en carpetas bien definidas y separar clases por archivos. Los frameworks de desarrollo más conocidos son un buen ejemplo para seguir esta práctica.

 

Code refactor: Cuando se hace un “refactor”, se hacen cambios del código sin cambiar su funcionalidad. Esto puede pensarse como “limpiar” el código o mejorar la calidad del mismo.

 

Mantener un control de versiones de tu código con GIT: El control de versiones es un sistema que registra los cambios realizados en un archivo o conjunto de achivos, de modo que se pueda recuperar dicha información más adelante en caso de ser necesario.

 

También es bueno seguir los principios SOLID de los cuales hablaré de una forma muy general a continuación:

 

 

S.O.L.I.D es un acrónimo para los primeros 5 principios de diseño orientado a objetos (OOD) por Robert C. Martin, más conocido domo Uncle Bob. Estos principios fueron combinados para hacer más fácil para un programador desarrollar, mantener y extender un software. Cada letra representa un principio que explicaré de una forma muy general:

 

S – Single-responsability principle.

O – Open-close principle.

L – Liskov substitution principle.

I – Interface segregation principle.

D – Dependency inversion principle.

 

Single Responsability Principle

 

Una clase tiene una sola razón para cambiar, esto significa que ésta debe tener sólo un propósito.

 

Open-close Principle

 

Los objetos o entidades pueden estar abiertos para extenderse, pero cerrados para modificarse.

 

Liskov Substitution Principle

 

Los objetos de un programa deberían ser reemplazables por instancias de sus subtipos sin alterar el correcto funcionamiento del programa.

 

Interface Segregation Principle

 

Un cliente nunca debe ser forzado a implementar una interfaz que no utiliza, tampoco deben depender de métodos que no usan.

 

Dependency Inversion Principle

 

Se debe depender de abstracciones, no depender de implementaciones.

 

Esto sin duda es un artículo muy básico sobre algunas buenas prácticas en programación, luego de esto el programador se empieza a adentrar en lo que son patrones de diseño y buenas prácticas específicamente en los lenguajes utilizados o en el producto a realizar. Sin embargo, estos temas quedarán para otra ocasión. Muchas gracias!

 

 

 

Escrito por:


Luis (Güette) Güette

Edificios inteligentes

Sistemas HVAC

Construcción sostenible

Ciudades inteligentes