14 abr. 2014


Esta entrada esta dedicada a listar los métodos poco eficaces o erróneos de desarrollo de código más comunes hasta día de hoy en el ámbito de desarrollo de software y que todo programador novato en su campo viene experimentando y muchos de ellos están aún presentes en el trabajo de los más veteranos:

La Gota: 



Procedimentalmente se cae en la sobrecarga de objetos adquiriendo los mismos responsabilidades varias mientras la gran mayoría tan solo contienen datos o funciones poco usadas, para corregir éste antipatrón se refactoriza y reparten uniformemente los métodos.






Continua obsolescencia: 

Es frecuente que se piense en el uso de nuestro software desde el alcance de un hadrware actual pero nada más lejos de la realidad, la tecnología es capaz de cambiar incluso antes de que un programador acabe su parte de código correspondiente, La solución consta de miras altas y expectativas previstas ante los cambios de los dispositivos físicos e incluso sistemas operativos que contengan nuestro software y mantener el producto generando nuevas compatibilidades.


Flujo de lava: 

Código "basura" que yace inerte como parte presente del código funcional y que puede cambiar e incluso llegar a afectar no ya al rendimiento del código, sino a su funcionalidad y objetivo final.
Lo ideal sería la eliminación inmediata de dichos residuos antes de la culminación de nuestro software e incluso antes de la acumulación masiva de la misma, lamentablemente ésto, por temas de pruebas, gajes de prestar atención a demasiadas variables o simplemente por acumulación inmediata, esto no es posible, así que siempre hay que buscar métodos para encontrar de forma eficaz éstas sobras tras la creación de código y eliminarlas, cabe recordar que siempre es mejor prevenir que curar, por lo que aun creyendo haber realizado un trabajo limpio debemos comprobarlo antes de dar el visto bueno.

Descomposición Funcional: 

Suele darse que al no tener tiempo o ganas de aprender a programar orientado a objetos y que su código así lo requiera el desarrollador intente recrear algunas de las particularidades de éste paradigma, y el trabajo no deja de ser ingenioso pero peca de lo mismo que peca el siguiente antipatrón..

Reinventar la rueda: Recuerda, a no ser que tu intención final sea esa, siempre es mejor utilizar procedimientos que ya están a tu disposición dentro de, por ejemplo, clases implementables, que desarrollar tú mismo dicha estructura de métodos para la resolución de un mínima parte de código.

Poltergeists: 

Existencia de clases casi sin utilidad con roles limitados y cortos ciclos de vida que además son usadoas por varios objetos de distinto propósito.

Ancla: 

Desarrollo de un fragmento de código que no va a ser útil en el proyecto actual.

Martillo dorado: 

Soberbio y obstinado uso por cuestiones de "confort procedimental" de un proceso, bucle o declaración pudiendo incluso ser más útiles otros procedimientos en un momento dado, es siempre bueno aprende rnuevas formas de resolver un conflicto para que la más efectiva esté a tu alcance en cada momento, eso además ayuda a la hora de enfrentarse a grandes desafíos.




Callejón sin salida:

Reutilización de código obsoleto o que ya no cumple o jamás lo ha hecho, con las pesquisas del objetivo final.

Código Spaghetti: 

Saltos co0ntínuos en el código que enrebesas su legibilidad y alteran su posible mantenimiento, uno de los más frecuentes.

Campo de minas:

Uso de tecnología software demasiado actual y sin revisiones que es susceptible a fallar de forma continua, si llevas tiempo programando y has publicado ya alguna utilidad software, sabrás que la mayor parte del trabajo está en el mantenimiento, así pues una nueva versión de un lenguaje es peculiarmente sensible y sus fallos no han sido pulidos, es básicamente un prototipo en manos de personas que descubren sus fallas.

Frankenstein: 

Código escrito a base de fragmentos obtenidos de código existente amolado cual muñeca con partes de otro muñeco diferente y es, no solamente una mala costumbre, sino que al estar compuesto por distintas pautas procedimentales su documentación y legibilidad se hacen consecuentemente difíciles entre ellas.



Éstos son antipatrones sólo pertenecientes a la rama de desarrollo de código pero los hay en todos los pequeños subcampos de una empresa de desarrollo de software, y están presentes en el planteamiento la dirección, el diseño, arquitectura y mantenimiento del mismo.

Reacciones:

0 comentarios:

Publicar un comentario