Navegando en

crónicas

Crónicas del Buen Programador: 5 Principios de Programación Orientada a Objetos aprendidos durante los últimos 15 años

Fue hace unos 15 años cuando creé por primera vez mi primera clase. Cuando empecé, pensaba en la programación Orientada a Objetos como un paradigma asombroso que debía conocer, recuerdo tener todos esos modelos mentales de los objetos y el aprendizaje de todo este nuevo vocabulario que realmente no entendía del todo hasta que años más tarde diseñé e implemente sistemas más grandes y más complejos.

Crónicas del Buen Programador: Software Ortogonal

La ortogonalidad es un concepto crítico a la hora de crear sistemas fáciles de diseñar, probar, compilar y extender. Sin embargo no es una característica que se enseñe de forma explícita y termina siendo una consecuencia de otras escuelas de diseño de software. Esto es un error, una vez que aprendes a aplicar el principio de ortogonalidad en tus sistemas de forma directa notarás una mejora inmediata en la calidad de los sistemas que produces.

Crónicas del Buen Programador: Cero Ventanas Rotas

Un trabajo sobre ingeniería de software por Ivar Jacobson describe uno de los pocos elementos (sino el único) de las leyes físicas que parece afectar el software, Entropía:

“La segunda ley de termodinámica, en principio, nos dice que el desorden en un sistema cerrado no puede ser reducido, sólo puede permanecer sin cambios o incrementar. Una medida de este desorden es la entropía. Esta ley parece ser plausible para sistemas de software, a medida que el sistema se modifica, su desorden o entropía, siempre se incrementa. Esto es conocido como Entropía de Software“.

La entropía de software, se le conoce como “software rot” o “software decay”, en español sería algo así como “podredumbre de software”.

Muchos factores pueden contribuir a este decaimiento, exploremos algunos.

Crónicas del Buen Programador: ¡A Refactorizar!

A medida que un programa evoluciona será necesario re-pensar decisiones que tomaste anteriormente y volver a trabajar en porciones de código ya escritas. Este proceso es perfectamente natural, el código necesita evolucionar, no es una cosa estática.

El software no funciona como una “construcción”, el software es más como “jardinería”, es mucho más orgánico que el concreto.

Re-escribir, re-organizar y re-diseñar la arquitectura de tu código es lo que se le conoce en forma colectiva como “Refactorización”.

Crónicas del Buen Programador: Comunicación es Clave

Tener las mejores ideas, el código más elegante y limpio, las mejores prácticas de programación y profesionalismo es completamente inútil a menos que sepamos empaquetar y presentar nuestras ideas y productos a otras personas.

Deficiencias comunicativas tienden a ser un síntoma común en empresas que tienen problemas para entregar productos que mantienen a sus clientes y socios felices.

A continuación una lista de ideas que pueden servir para mejorar e instituir una cultura de buena comunicación en tu equipo.

Crónicas del Buen Programador: Cero Excusas

“La mayor debilidad de las debilidades es el miedo a lucir débil.” – J.B. Bossuet, Politics from Holy Write, 1709.

Todo buen programador debe tomar responsabilidad de sus acciones y no debe tener miedo de admitir su ignorancia o sus errores. Este no es uno de los aspectos más placenteros de programar (o de cualquier carrera) pero siempre van a ocurrir errores, inclusive de parte de los mejores programadores en los mejores proyectos. A continuación algunos tips sobre cómo manejar estas situaciones.

Cada huella es única

Crónicas del Buen Programador: No Te Repitas

El mantenimiento de un sistema difícilmente comienza el día que es implantado, en realidad el mantenimiento comienza el primer día y continúa todos los días que trabajamos en un sistema. Nuevos requerimientos, y mejor entendimiento de lo que estamos haciendo colocan al programador en constante refactorización de aquello que esta siendo creado, el mantenimiento es una actividad de rutina, parte de todas las fases del ciclo de desarrollo. La única manera de crear software confiable, fácil de entender y de mantener es seguir un principio “DRY” (Don’t Repeat Yourself – No Te Repitas).

Crónicas del Buen Programador: Invierte en Conocimientos

“Una inversión en conocimiento siempre paga el mejor Interés” Benjamin Franklin.

Tus conocimientos y tu experiencia son tus mejores bienes. En 1999 recuerdo que compré un libro llamado “Java In A Nutshell“. Era un libro de referencia completa al lenguaje, en aquel entonces la API era Java 1.1.8. Leí el libro de la primera a la última página. En unos cuantos meses empecé a ganar reputación en la escuela de Ingeniería Informática porque sabía programar (muy poco en comparación a hoy en día) en Java.

Crónicas del Buen Programador: Errores comunes en la Programación Extrema

A pesar que parezca algo muy sencillo adaptarse a la Programación Extrema (eXtreme Programming) como metodología de desarrollo (ya que a simple vista nos parece que de alguna u otra forma la hemos estado aplicando empíricamente), en la cruda realidad de un proyecto donde se interactúa con un equipo numeroso de personas deja de parecer cosa de “coser y cantar”. Pero, ¿Cuáles son los errores más comunes que nos dificultan la aplicación de la Programación Extrema?