lunes, noviembre 24, 2014

Leer antes de escribir

Es común que una persona que toma un proyecto iniciado por alguien más, critique la manera en como esta hecho. Pasa en muchas profesiones y/u oficios. Trato de no hacerlo (tanto); pero...algunas veces es sorprendente como la persona que escribió el código se complicó la existencia reinventando la rueda. Es decir, creando su propia solución para un problema común. Es aún más sorprendente cuando quien lo hace tiene varios años trabajando en proyectos. Trataré de explicar como evitar ser esa persona que complica el código. Antes, daré un ejemplo de situaciones de este tipo.


Al leer código de alguien más.
En las aplicaciones realizadas en .NET la configuración de la aplicación se guarda en un archivo llamado igual que el ejecutable añadiéndole la extensión ".config". Así si mi ejecutable se llama miAplicación.exe tendré un archivo llamado miAplicación.exe.config  en el mismo directorio. En caso de ser una aplicación web, el archivo se llama web.config. El formato del archivo de configuración es estándar y existen librerías que facilitan la lectura de los valores de configuración.

He estado en proyectos donde la persona que lo inició creó su propio formato de configuración y su propia convención para nombrar los archivos. La aplicación funciona; pero esto hace que se requiera más tiempo para entender lo que hace el código fuente del programa, se tiene más código que mantener a cambio de prácticamente ningún beneficio. La decisión parece estar basada en que no se conocía la manera (.NET ) de hacer las cosas. También lo he visto al usar librerías de acceso a datos, donde el programador original creo una forma de ejecutar los scripts, en lugar de seguir la convención o utilizar las clases que da el marco de trabajo.

¿Por qué alguien que tiene varios años programando no usa lo común? ¿Por qué no sigue la convención? Puede ser por la misma razón por la que algunas personas tienen faltas de ortografía. Por ejemplo yo. Hace tiempo al momento de escribir lo hacía con muchas faltas de ortografía, con el tiempo he aprendido a escribir mejor. Ahora es fácil notar (sin ayuda de un corrector ortográfico) cuando una palabra esta mal escrita. Esto no pasó solo por escribir varios años.

Empecé a notar que las palabras se veían raras, si estaban mal escritas, porque me acostumbré a verlas escritas correctamente al leer texto de otras personas, en libros, blogs, etcétera. El leer me ha ayudado a escribir mejor, a notar cuando algo no anda bien en lo que escribo. Aun sigo equivocándome; pero sé que entre más lea y escriba, reduciré mis faltas de ortografía.

Leyendo código. Foto de Gabriel Flores.

De igual forma leer código de otras personas ayuda a escribir mejor código. Siguiendo con el ejemplo anterior, si el programador hubiera leído el código de varias aplicaciones .NET se hubiera percatado de que la forma en que estaba guardando la configuración no era lo común. Hubiera sentido que su código se veía raro. O tal vez ni si quiera hubiera pensando en reinventar como realizar la configuración de la aplicación y hubiera usado directamente la convención del marco de trabajo.

Para escribir buen código además de tener práctica escribiéndolo, también hay que leer código de otras personas. El no hacerlo puede provocar que hagas algo distinto a la convención o "reinventes la rueda", que puede ser divertido (y servir para aprender) la primera vez; pero a la larga es algo a lo que pocos querrían darle mantenimiento. Si quieres escribir mejor código, práctica y lee código de otros.

jueves, noviembre 20, 2014

Desarrollando en la nube de nitrous

Actualmente la maquina que uso para desarrollo es una laptop con un disco duro de 100 GB por lo que no tengo mucho espacio para instalar todo lo que quiera. Trato de instalar solo lo necesario para mi trabajo. Por eso no me gustó la idea, cuando en el proyecto que estaba trabajando necesité instalar Postgresql. Mi maquina actualmente ya tiene Firebird, Interbase, MS SQL Server, MySQL y el cliente de Oracle.

Recordé que hace tiempo había trabajado con nitrous.io por recomendación de un amigo. Así que creé una maquina nueva, la que había usado antes ya no la necesitaba (por ahora). Seleccioné el ambiente de nodejs e instalé Postgresql. Y así en unos minutos ya tenia una maquina con Linux, git, node y postgresql, gratis y lista para empezar a desarrollar.

IDE desde el navegadorExisten formas de usar tu editor local y sincronizar archivos; pero opté por usar el editor y la consola en línea. Es una ventana en el navegador donde esta un editor de texto con un árbol mostrando tus archivos y una ventana con la terminal. Con eso es suficiente para empezar a trabajar sin necesidad de tener archivos locales, ni software instalado localmente.

Después de un buen rato de estar trabajando en el proyecto, incluso olvidé que estaba trabajando en el navegador. El servicio es gratis si usas una maquina modesta. Puedo acumular "puntos" que llaman unidades de N2O y hacer mi maquina mejor, ya sea pagando o si alguien se registra usándome como referencia.

lunes, noviembre 17, 2014

Se lamentó

Llegué algo tarde a la presentación. Traté de poner atención para de alguna forma ponerme al corriente con el tema. En eso el presentador dijo una grosería, para enfatizar su punto de vista. Me pareció gracioso y reí junto con el resto de la audiencia. Después de unas cuantas palabras, otra grosería y luego otra y así sucesivamente... rápidamente dejo de ser gracioso y empezó a molestarme en cierto modo.

Polo Polo. 
No me siento ofendido cuando algún presentador usa groserías. Hay ocasiones que pueden hacer un chiste más gracioso, si se usa en el momento correcto. El problema es cuando el chiste es la grosería en sí. Eso fue lo que sentí en esa presentación. Pudo el problema ser que llegué tarde y no entendí el contexto. Realmente quería aprender del tema, sentía que las groserías (para hacer la platica "real", "graciosa", etc.) se metían en mi camino.

Cada quien tiene su estilo para presentar y hay audiencia para cada uno. En lo personal no me gustó ese estilo, creo que por el hecho que lo siento como un recurso "barato" sobre todo cuando se usan en exceso. Aunque para decir groserías también se requiere algo de gracia, digamos talento. Creo que no era el lugar ni el momento. Una que otra, de vez en cuando, puede hacer que te mantengas alerta en el platica. Sin embargo, también pueden usarse otros recursos para  mantener al público enganchado.

Lamento que haya quienes no se tomen ese tiempo para expresar, de una manera respetuosa, su punto de vista a los asistentes. Aun así valoro y agradezco (a todos) por el tiempo que invierten en desarrollar un tema y presentarlo a los demás.