17 de agosto de 2009

Buenas Prácticas Para Empezar Como Programador

La programación puede llegar a ser una de las actividades mas satisfactorias o mas frustrantes realizadas por un informático. Esto debido a la complejidad adherida a dicha actividad y a malas practicas o hábitos que se tienen al iniciar el estudio y la practica de la programación.

Al igual que cuando empezamos con el aprendizaje de cualquier otra cosa, para iniciar a programar necesitamos seguir algunas buenas practicas, la mayoría de las cuales se mantienen durante toda la vida de un desarrollador(a).

Aquí listo algunos tips y buenas practicas que me han funcionado en la programación:


- Identificar y analizar el problema al cual se le quiere dar solución programándolo. Es una buena practica sentarse a pensar el problema en cuestión y en su posible solución, antes de intentarcodificarlo. Esto para evitar la frustacion y perdida de tiempo de cuando apenas leermos o escuchamos el problema, y nos queremos sentar frente a la pc a programar. Además de que evitamos "parchar" el código por deficiencias en este, ya que haría todo mas engorroso para uno, le quitaría limpieza y claridad al programa, y ya no seria código de calidad.

- Realizar diagramas y/o pseudocódigo. Esto va ligado a punto de arriba, ya que al momento de analizar el problema y proponer una posible solución a este, es recomendable plasmarlo en papel y/o digitalmente, en forma de algún tipo de diagrama o pseudocódigo. Esta practica, en el caso de los diagramas, nos ayudara a visualizar de una manera gráfica la solución del problema, detectar fallas o mejoras que se puedan realizar. Y en el caso de pseudocódigo, comose acerca mas a lo que va a ser el código en la pc, es mas fácil la migración del contenido del pseudocódigo a la pc en forma de algún lenguaje de programación.



- Darse un tiempo de descanso cuando tenemos problemas difíciles. A veces por lo complicado del problema a resolver, la falta de experiencia cuando se inicia a programar, el cansancio, el mal humor, etc. nos atoramos en una parte especifica de la solución del problema. Eso es muy frustrante, ya que crees que por donde se vea, el problema no se puede resolver. En estos casos lo mejor es dejar despejar la mente, tomarse un break, realizar algo de actividad física (para oxigenar el cerebro), darse una vuelta, tomarse una cerveza con los cuates, etc. Y tiempo después (tomate 1 día si el tiempo te lo permite) regresa a la resolver el problema, ahora con la mente despejada. Veraz que le encontraras solución a problemas que creías imposibles.



- Utilizar la lógica positiva, no la lógica negada (<--- como aquí, je). Utilizar "Si Mario tiene hambre, entonces come" -> (come(Mario,si)), es lo mismo que "Si Mario no no tiene hambre, entonces come" -> (come(Mario,si)), solo que la segunda nos puede llevar a confusiones y errores de lógica cuando se opere con esa sentencia y otras sentencias que tienen lógica positiva. Además de que siempre es mas intuitivo y natural tratar con sentencias positivas. Son mas intuitivas para afirmar y para negar.

- Leer a mas de un autor de programación. Suele pasar que cuando iniciamos el estudio de la programación nos cerremos al primer autor de libro o portal de internerd que nos topemos y no miremos a otras fuentes. Esto tal ves porque sentimos que es una autoridad en el tema, porque estamos teniendo una buena experiencia de aprendizaje con tal autor u otras razones no tan validas. El hecho es que si nos limitamos a aprender de solo una persona, tenderemos mucho a imitar el estilo de programación de quien seguimos de mas. Por el contrario, si echamos un ojo a la forma de trabajar de otras personas, tendremos mucha mas información y nos crearemos con mucha mas facilidad un criterio y estilo de programación propio.



- No dejes que el IDE te domine, eres tu quien debe dominar al IDE. Cuando se inicia a programar, lo mas cómodo y didáctico es utilizar un entorno de desarrollo. Ya que un IDE te evita la "molestia" de compilar "a mano", te muestra errores de sintaxis y de lógica enseguida que los comentes, muestra si hace falta alguna librería y bueno, en general hace una abstracción de todo lo que rodea el desarrollo y te lo pone facilito. Esto esta bien cuando se inicia a programar, o cuando ya profesionalmente lo que deseas es desarrollar de una manera mas rápida. Pero hay que tener cuidado de no volvernos dependientes de los IDEs y sobre todo de un IDE es especifico. ¿Que pasaría si toda la vida como programadores hemos utilizado Netbeans, y llegamos a un lugar donde se tenga que trabajar con Eclipse o con otro entorno de desarrollo? o peor, lleguemos a un lugar en donde no se trabaje con IDEs (algo difícil, pero puede pasar). Además de que prescindir de los entornos de desarrollo nos ayuda a comprender mejor el proceso que hay para elaborar y correr un programa en la computadora. Procura no ser dependiente de los IDEs.



- Identar y comentar el código. Casi se me pasa este, pero no puede faltar, es básico. Hacer una buena identación de código, resulta muy útil para ver, por ejemplo, entre ciclos anidados, donde empieza una secuencia de instrucciones y donde termina, en que nivel afecta tal o cual instrucción, identificar cuantos métodos o funciones tiene nuestra clase o estructura, todo esto y mas con solo una ojeada. Además de que un código identado resulta mas agradable a la vista, e influye en la facilidad y estado de animo para leer un código, sobre todo cuando vamos a compartir el código o se revisa ese mismo código meses después. Suena muy mamón, pero así es, je. En cuanto a los comentarios, procura poner solo los necesarios, no atiborrar el con ellos. Unos buenos comentarios ayudaran a otra persona a entender tu código, o a ti mismo cuando lo editas tiempo después a la fecha de creación. A medida de que hagas un código auto documentado, necesitaras menos comentarios.



- Ayudar a alguien con menos experiencia. El hecho de ayudar a quienes llevan menos tiempo en la programación que tu, además de que ayudas a alguien que lo necesita y es bueno para el aprendizaje (porque en la vida todos aprendemos de todos), te ayudara a reforzar los conocimientos que compartas sobre programación. Además de que siempre es enriquecedor conocer cual es la forma de ver los problemas de otras personas.

Pues ahí están algunas buenas practicas para entrarle a la programación de una forma mas eficiente, mas placentera y menos frustrante. Me han funcionado y espero te funcionen a ti también. Se quedaron algunas en el tintero (tintero, si aja), pero estas son las mas importantes creo yo. 8^)