9.10.2008

Guía para iniciar un proyecto

Fuente del artículo: http://perlenespanol.baboonsoftware.com/articulos/archivo/000102.html

Estaba sentado frente a mi laptop pensando en que escribir, y aunque no lo crean hay veces que no se me ocurre nada. Sin embargo por alguna extraña razón mi mente empezó a recordar todos aquellos proyectos que empece y como ha evolucionado la manera en que los hago, todo esto me dió la idea de hacer un tutorial donde les mostraría más o menos la técnica que uso para crear un proyecto.

Hay diversas razones por las cuales uno decide iniciar un proyecto, ya sea por un trabajo, una tarea, o simplemente porque uno esta aburrido y quiere investigar lo que es capaz de hacer. Pero no importa cualquiera de estos casos siempre tenemos que seguir un lineamiento, unas reglas o formato sea cual sea con el cual plantearemos lo que queremos hacer.

Después de años de trabajar he llegado a usar un sistema que me sirve muchisimo y con el cual se me es más fácil trabajar y a continuación se los muestro ya separado por pasos.

PASO 1 : Ideando lo Ideal

Aunque parezca tonto o incluso rídiculo el primer paso es...tambores por favor...SABER LO QUE QUEREMOS HACER (por favor disculpen mi poco sentido del humor).

No se rían pero es cierto, dejen les éxplico un poco, al inicio de mi vida como programador me encontraba escribiendo código y a las 1000 lineas de código me decía, ¿qué es lo que hago? ¿por qué no mejor hago esto o tal cosa?, era una lamentable pérdida de tiempo, y todo eso porque no medite un poco y pense en lo que quería hacer.

Es por ello que les digo que el primer y muy importante paso, es idear lo que queremos, yo hago eso respondiendo preguntas como ¿qué? ¿por qué? ¿cómo? ¿para qué?, etc.

Como soy un amante de los ejemplos para este artículo vamos a suponer que una compañía de seguros nos contrata para hacer un CGI en línea que saque presupuestos del costo de los seguros siguiendo una serie de preguntas que se les haría a los clientes. Sabiendo esto ya tenemos las primeras respuestas de ¿qué? y ¿para qué?, estamos en un bueno comienzo y nos lleva al segundo paso que es decidir que es lo que vamos a usar.

PASO 2 : Herramientas

En el paso anterior ya vimos el planteamiento inicial del problema, ahora es necesario ver que herramientas necesitamos para solucionarlo y si somos capaces de hacerlo o si necesitaríamos aprender algo nuevo.

NOTA: Algo importante que he aprendido es siempre conocer bien tus límites, nunca te metas en proyectos que al final podrías acabar no haciendo, o peor, haciendo mal.

En este caso hagamos la lista de cosas que tendríamos que saber y que utilizaríamos.

HTML Debido a que quieren hacer un CGI es necesario que sepamos HTML para el diseño. Javascript Quizá lo necesitemos para checar formas, etc. MySQL,Oracle,Postgres Vamos a necesitar un database para ordenar todo los datos. (Costos, tipos de seguros,etc). Perl Por supuesto que debemos de conocer nuestro lenguaje de programación sea cual fuere el que queremos usar. DBI Debemos de saber como comunicarnos a nuestro database, en el caso que usemos perl ó C++.

Pues listo, ya tenemos nuestra lista de conocimientos necesarios para encaminarnos a nuestro proyecto, y sabemos que cumplimos con todas las necesidades.

NOTA: Para proyectos más complejos es necesario hacer una lista de conocimientos del propio lenguaje de programación.

Bien ya tenemos nuestra siguiente pregunta respondida ¿cómo?, ahora pasaremos al siguiente paso.

PASO 3 : Estructura

Muy bien ya que tenemos todo lo anterior anotado ahora veamos lo que sería la estructura ya más formada de nuestro proyecto, es decir es hora de escribir todas las funciones que tendrá nuestro proyecto, por ejemplo para este caso sería algo así:

  1. Capacidad de checar presupuesto de seguros
  2. Mecanismo de búsqueda
  3. ... etc
Así vamos llenando la lista con todas las cosas que queremos que nuestro programa haga, yo recomiendo que en este paso piensen realmente en todas las opciones, para que al estar en medio del proyecto no salga algo que se les haya olvidado.

PASO 4 : Interface

Siempre después de tener ya muy en claro lo que quiero lograr con el proyecto, lo primero que hago es la interface, y esto lo hago debido a dos razones:

1. Te permite definir mucho más la estructura general del proyecto debido a que tienes que hacer los menús, cada una de las páginas, ya sean formas, mensajes de error, etc. Simplemente te hace pensar en todas las posibilidades.

2. Al tener la interface lista tienes mucho más definido el orden en que tienes que ir haciendo el programa.

A parte de todo esto, lo que hace la diferencia entre un buen CGI y uno malo fácil en un 70% es la interface, pues esto va a marcar si va a servir para el usuario y si es cómodo y sencillo usar tu CGI, recuerda en pensar siempre en tus usuarios al hacer tu CGI, especialmente cuando haces CGIs que usarían personas que no estan acostumbradas al internet o a las computadoras en si.

PASO 5 : Estilo de programación

Antes de inciar a hacer el código tienes que hacer un especie de contrato contigo mismo para decidir de que manera vas a escribir tu código. Este paso es realmente importante pues va a marcar la diferencia entre un código fácil de mantener y entender a uno que no lo es.

Lo primero que debes de decidir es si tu aplicación la vas a hacer modular o en un gran archivo, para que me haga a entender mejor: el modular es cuando separas las funciones en pequeños módulos para así hacer una librería, por ejemplo en este caso podríamos hacer un módulo llamado "Matematicas.pm" que tendría todas las funciones relacionadas a operaciones matemáticas; en el otro caso pones todas las funciones un un archivo grande exceptuando, como es lógico, a módulos de perl ya existentes.

Mi recomendación en este caso depende del caso: si va a ser un código de muchas líneas, digamos más de 3 ó 4 mil, lo más seguro es que quieras separarlo en módulos lo que lo haría más fácil de mantener, aparte de que así recordarías mejor cada función.

En segundo lugar antes de iniciar es importante que decidas de que manera vas a escribir tus variables, hay varias maneras de hacerlo y aquí pongo unos ejemplos:

my $costoTotal; #Todo junto con cada palabra separada por una mayúscula
my $CostoTotal; #Mismo que arriba pero iniciando con mayúscula
my $costo_total; #Palabras separadas por _
my $Costo_Total; #Igual que el de arriba pero con mayúsculas

Estos son apenas unos ejemplos, pero no importando el estilo es sumamente importante que te mantengas a él para tener un código mas limpio. También es sumamente importante que el nombre de las variables sea descriptivo del contenido que tienen.

En tercer lugar siempre que nombres tus funciones dales un nombre que al verlo te haga entender lo que hace esa función. Funciones llamadas suma, resta, despliegue, etc. evítalas, mejor decide por suma_intereses, resta_operaciones, despligue_encabezado_html, etc.

En cuarto lugar siempre usa el pragma strict al hacer tus programas.

Quinto: Nunca olvides usar la función exit() para salir del programa.

Y por último siempre pon comentarios en todas partes, estos te servirán como guías cuando 1 año después veas tu código nuevamente.

Sigue todos estos puntos y tu código quedará sumamente limpio y muy fácil de mantener inclusive por terceras personas.

PASO 6 : Las Pruebas

Al terminar tu código recuerda siempre hacer pruebas, lanza tu programa en versión BETA y pide a varias personas que lo exploren, que intenten que falle, has la lista de cosas que fallaron corrígelas y vuelve a hacer el proceso, has esto hasta que ya no encuentres un error.

Nunca va a quedar tu aplicación perfecta e inmune de errores, pero intenta que haya el mínimo de errores posibles.

PASO 7 : El Soporte

Quizá sea buena práctica que hagas módulos de ayuda para tus aplicaciones, explicando como funciona, que es lo que uno tiene que hacer, etc. Aunque esto no afecta la aplicación en sí, podrías empezar a acostumbrarte a ello, creéme mucha gente lo apreciará.

CONCLUSIÓN

Les aseguro que podría haber mejores maneras de diseñar tu proyecto, pero estos pasos me han ayudado en la creación de proyectos, pequeños, medianos y de gran escala, pero de lo que no hay duda es que para hacer un buen proyecto necesitas planeación, planeación y más planeación.

Espero que esta artículo les ayude a mejorar sus costumbres de programación y los lleve a hacer aplicacines mas robustas y mejores.


Fuente del artículo: http://perlenespanol.baboonsoftware.com/articulos/archivo/000102.html

No hay comentarios: