Mantenimiento de tu Codigo, mi caso de uso

Publicadas por Jose Carlos Tamayo

Hubo un periodo de 4 meses donde deje de programar Xeno para dedicarme a otros afanes de la vida, pero desde unas 2 semanas atras que encontre un buen tiempo para continuar con el juego. Dentro de la programacion encontre un problema que se resolvia cambiando mucho codigo o creando una especie de parche para el problema. Esto es un pequeño resumen de cuando necesiten reestructurar su codigo y no sepan como hacerlo.

El Problema,Planetas y Regiones:

Antes de la ultima actualización, los mapas  donde jugabamos, los llamaba planetas en mi base de datos y en mi codigo. Cada planeta tenia un mapa del planeta donde podriamos movernos. Ningun problema hasta ahi y codificaba feliz de la vida.

Antes: Un planeta con su mapa

Con los nuevos requerimientos (autoimpuestos, vaya que tengo algo de disciplina), las cosas cambiaron. Ahora un planeta podria tener regiones y estas regiones tendrian un mapa, osea los antiguos planetas vendrian a ser las nuevas regiones.

Ahora: El planeta puede tener regiones y estas regiones son mapas

El problema es el siguiente: Que hago con todo mi codigo y mi base de datos? Tengo que crear nuevas clases que sean referencia a los nuevos planetas pero ya tengo esas clases hechas y ademas referencian a las regiones! Y los nombres de mis funciones que antes eran digamos getPlanets(), ahora deberian de ser getRegions(), sin contar mis parametros, variables, defines y etc.

2 Caminos, 1 solo resultado

a) El facil y escabroso: Simplemente todo lo nuevo referente al planeta, se llamara algo asi como superPlanet o uberPlanet, en fin algo encima de lo que ahora se conoce como planeta. Resultado, un sentimiento de que algo esta mal mientras programo, como un sabor amargo. Pero algo muy comun en varios proyectos de software. La base de datos sigue igual.

b) El dificil y satisfactorio: La otra opcion es la refactorizacion masiva  de TODO mi codigo. Con ayuda de alguna herramienta busco y reemplazo las cadenas que contengan planets, Planets,PLANET, etc y lo reemplazo por regions,Regions,REGION, etc. ¿Refactorizar la Base de Datos? Je manualmente, no conozco herramientas que permitan buscar nombres de campos y refactorizarlos. 

Manos a la Obra:

Esta solucion, aunque es solo para PHP y en general para proyectos con pocas personas es la que me resulto mas facil de realizar, les pongo mi metodologia para que si alguna ves esten con este mismo problema, tengan la solucion a la mano!.

a) Obtener Dreamweaver y su poderosa busqueda: Yo trabajo con Aptana, pero si hay algo que odio del mismo es su opcion de busqueda de caracteres, solo puedes buscar en la misma pagina que tienes abierta, y encima no busca bien, en cambio Dreamweaver siempre fue un experto en estas lindes, con una sola ventana puedo encotrar todas las cadenas en mi Proyecto Completo. No solo funciona para PHP, si no que tambien para CSS y Javascript, genial!.

b) Saca un Backup - Obligatorio!: Realmente no avances nada si antes no haz sacado un backup, quizas este de mas decirlo pero estaras mas feliz de hacerlo.

c) Buscar de Mas a Menos: En mi caso empece buscando la palabra planet, lo que encontre fue que ademas de planet, tenia cadenas llamadas -planetas. Si hubiera buscado planet y lo reemplazaba por region, entonces todas las palabras  planetas, terminarian como regionas, que se puede hacer al respecto?. Primero busquen las palabras mas grandes y despues continuen con las mas pequeñas, ademas diferencien entre mayusculas y minusculas, te va a dar menos dolores de cabeza.

El poderoso Dreamweaver con la configuracion necesaria para la refectorizacion

d) Arreglar la Base de Datos: Solo queda cambiar manualmente todas las referencias a Planet, no es mucho felizmente, pero si existiera alguna herramienta que facilitase esto, estaria muy contento

Y listo esa seria mi receta. ¿Ustedes tienen alguna forma novedosa de mantener o refactorizar el codigo?



¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me

Arsenal del Dev: Aptana for Eclipse

Publicadas por Jose Carlos Tamayo


Desarrollar juegos para web no es tarea facil. Tienes que preocuparte por varios lenguajes y tecnologias al mismo tiempo. Es por eso que hace un año empece a buscar la herramienta perfecta que me ayude a desarrollar en css, javascript, html y php al mismo tiempo. Por un tiempo estuve con el Dreamweaver CS3. No es una herramienta mala, bien util en PHP, pero mis necesidades en el codigo javascript, ademas de todas las librerias que usaba limitaban al buen Dreamweaver, una herramienta propia de Diseñadores Web. Es ahi cuando encontre al Aptana.

Aptana es un IDE que ahora corre como una extension del ya mitico Eclipse o como version Standalone,aunque recomiendo la version para Eclipse. Nos permite crear codigo principalmente en HTML, Javascript y CSS de una forma por demas deliciosa.

Por supuesto lo que mas llama la atencion es que su version Community es totalmente gratuita. Yo uso esa y de verdad, me hace las cosas mas sencillas.

Si quieres usarlo pues son 3 pasos basicos:

  1. Bajate el Eclipse. Recomiendo la version Classic
  2. Bajate el Aptana for Eclipse. Ahi te dan las faciles instrucciones para instalarlo
  3. Actualiza tu Aptana y disfruta
Goodies:
  • Puedes trabajar codigo en Html,Javascript y Css. Ademas tienes una extension para trabajar codigo en PHP muy buena y completa.
  • Ademas tienes mas extensiones para trabajar con Ruby on Rails, Adobe Air 1.5 , Iphone y Python. Me falto mencionar que tambien puedes trabajar con WRT para celulares nokia
  • Funcionalidades especiales para las siguientes librerias javascript Jquery,Dojo,Yahoo,Ext Js, Motools, Prototype, Scriptaculos, Adobe Spry, Microsoft ASP.NET Ajax Controls, OpenRico y Aflax.
  • Outline Visualizator, navega por tags,variables y funciones, codigo en css ,javascript ,html y hasta en PHP!. De lejos la funcion mas util para mi

  • Autopadding: Supon que ingresas un if de ultimo momento , todo el codigo que este dentro de los nuevos corchetes se identa. Aptana ademas identa tu codigo en otros tipos de situaciones de una forma por demas inteligente. Me dejo pensando que Aptana esta vivo, o hay duendes magicos bien ordenados dentro del codigo.
  • Ademas en teoria tiene un debugeador de javascript bastante bueno. No lo he probado pero segun los comments leidos hace todo mas facil e interesante y ademas soporta todas las librerias citadas antes.
Lo unico que me parece un poco complicado es al momento de configurar tu servidor web. Pero lo bueno es que existe toneladas de documentacion con imagenes en la pagina principal de Aptana, asi que no hay pierde =).

A que esperas, empieza a usarlo ahora!!!

¿Te gusta la pagina?, socializame haciendole click a tu color preferido:

Add to Technorati Favorites Digg! del.icio.us.me