viernes, 6 de marzo de 2009

Un proyecto no solo es programar[Herramientas de apoyo]

Muchas veces un proyecto se complica o facilita independiente de que el equipo tenga un nivel tecnico alto. Para facilitar cosas Anexas al desarrollo existen varias herramientas de automatizacion y de apoyo, la mayoria son openSource,Free o como quieran llamarles.

Aqui detallo algunas que por lo menos para mi son fundamentales, a lo mejor voy a estar muy orienta a .net.

Sistema de control de versiones:
Hay muchos cvs, ,Svn, soursafe, etc. pero el que mas sobresale es Svn. la gracia de usar Svn serian
  • Codigo respaldado.
  • Posibilidad de trabajar en equipo.
  • Posibilidad de tener acceso a todo el historial de cambios, por archivo o proyecto completo.
  • poder volver atras en cambios que pudiesen estar malos.
Para mi ya seria muy complicado trabajar sin svn, o algun sistemas de estos, mas cuando trabajas en equipo.[aun recuerdo mi primer trabajo donde no existia nada de eso, y se me perdian a menudo los fuentes :)].
Esto no importa en el lenguaje que trabajes solo almacena historial de texto, en el caso de svn, creo que tiene modulos para mesclar word y esas cosas.

Test Unitario:
Lo mismo que lo anterior, existen para java, .Net. pero siempre bajo el mismo concepto y comportamiento. [JUnit, NUnit].
Estos test se programan, y nos sirven para asegurar que nuestros codigos nos retornen resultados esperados. de aqui sale la programación orientada a los test.

Logger :
Si logger no blogger :). muchas veces e visto sistemas que no tienen ningun tipo de log. y que nisiquiera requistran las excepciones. para Java tenemor log4J para .NET tambien tenemos Log4NEt. para punto net tambien existe la Enterprise Library que tambien sirve para hacer log entre muchas otras cosas, no he visto mucho de esto.

FxCop:
Una Herramienta Microsoft para ver buenas practicas de programación. uno le da una dll, y el nos dice que cosas deberiamos mejorar, como por ejemplo no capturar Excepciones genericas, por dar un ejemplo.
Uno puedes crear o quitar nuevas reglas, viene cargado por defecto con muchas reglas asi que hay que sacarle varias, que por lo menos prefiero usar mas el sentido comun en algunas.

Cruise Control:
Es una herramienta comúnmente utilizada en integración continua Si no usamos esa metodologia. de igual forma es muy importate en un proyecto.
CC esta para Java y para .net. Este es un Ant, es decir, realiza tareas programadas, lo que podemos hacer con CC:
  • Bajar las ultimas fuentes de nustros repositorios.
  • Compilar.
  • Ejecutar los test, hechos en Nunit o Junit respectivamente.
  • Comprobar reglas con fxcop o simililar para otro lenguaje o plataforma.
  • CheckStyles. No se como todavia, pero existe forma en java de comprobar los membretes, comentarios de las clases tenga cierta Estructura.
  • Generar Release ,instaladores, publicaciones.
  • Envio de mails, con resultados de cada proceso[configurable].
Antes C.C. era un plus para las empresas de desarrollo, ahora es casi un standard.


Wiki, Base de Conocimientos, Blog:
Es importante que el conocimiento o expertis de los desarrolladores quede plasmado en algun lado. existen muchas formas cada uno elige la mas apropiada o intuitiva.
Ademas es bueno poner datos relevantes en estas herramientas, como descripcion de servidores, base de datos, etc.



Resumen:
En resumen, un proyecto no solo se define con saber programar, mas aun si es un equipo de trabajo grande. El que se use estas herramientas tampoco no dara un exito, si no que hay que saberlas usar y sacar partido a cada una de ellas.
implantar estas cosas es relativamente facil, y el beneficio es mucho, asi no nos preocupamos de cosas anexas al desarrollo.









--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

4 comentarios:

  1. Yo agregaría StyleCop junto a FxCop. Su función es similar, pero sugiere correcciones sobre otros aspectos del código.

    Links:
    http://code.msdn.microsoft.com/sourceanalysis

    http://blogs.msdn.com/sourceanalysis/archive/2008/05/23/announcing-the-release-of-microsoft-source-analysis.aspx

    ResponderEliminar
  2. excelente,
    No sabia que existia styleCop.


    se ve bien bueno.
    Gracias. :)

    ResponderEliminar
  3. Mira todo bien, se ve que tenes "algo" de conocimiento, pero te recomendaría (no como buena practica de programación sino de escritura) que verifiques antes de publicar tu texto, porque realmente tenes errores gigantes de ortografía, no son acentos, no podes poner "biene" con B, sos un bestia con B gigante man.
    Saludos!

    ResponderEliminar
  4. Facundo muchas gracias por tu comentario, tomare en cuenta tu critica y tendré cuidado con este tema. de nuevo muchas gracias.

    ResponderEliminar