La línea más larga que he visto en mi vida

¿Os acordais de cuándo comentaba se era ético / profesional modificar el código de otros?

Bien, y si me encuentro algo como esto:

                            var newLine = $("<div>").addClass("menuWindow").html('<ul id="topWindowMenu">' + addLi('search' + incidenceId, 'Search', 'opMenuWindow search') + addLi('mine' + incidenceId, 'Assign to me', 'opMenuWindow mine')  +  addLi('delegate' + incidenceId, 'Delegate', 'opMenuWindow delegate') + addLi('transfer' + incidenceId, 'Transfer', 'opMenuWindow transfer') + addLi('task' + incidenceId, 'Task', 'opMenuWindow tasks') + addLi('print_incidence' + incidenceId, 'Print', 'opMenuWindow print') + addLi('save_incidence' + incidenceId, 'Save', 'opMenuWindow save') + addLi('refresh' + incidenceId, 'Refresh', 'opMenuWindow refresh') + '</ul>');

¿Ahora qué hago? Son 664 caracteres. Más de 8 folios, uno al lado del otro.

EDIT: Una apreciación paterna. De 664 caracteres, los 7 primeros son tabuladores destinados a mejorar la claridad del código. Es decir, el 1.05% de la línea está destinada a mejorar la legibilidad.

Del amor propio a la obsesión por lo que es mío

El viernes tuve un día realmente malo en el trabajo pero creo haberlo resuelto correctamente. El caso es que aun hoy sigo dándole vueltas a lo acontecido y reflexiono sobre lo que pasó.

Resulta que el viernes a última hora, un compañero de trabajo y yo modificábamos el mismo archivo pero realizando tareas completamente distintas. Mientra él ajustaba ciertos detalles de apariencia, yo trataba de mejorar algunos aspectos del comportamiento. Mi compañero tiene la costumbre (para mí, arriesgada) de realizar un sólo envío (al finalizar la jornada) al repositorio de versiones mientras que yo suelo subir versiones estables cada menos tiempo (un par de horas o así). El caso que a eso de las 12.00h del viernes mi jefe nos pide mezclar los archivos. Para ello primero subiría los cambios mi compañero y luego yo.

Cual es mi sorpresa cuando mi compañero, abrumado y enfurecido, me pregunta que por qué he subido yo primero y me acusa de haber realizado un montón de cambios. A esto le sigue una sucesión de frases que, sin faltar al respeto en ningún momento, me tachan de soberbio, afirmando que sólo tolero el código que yo creo, que «lo de los demás no vale» y que «por eso tengo encontronazos con todo el mundo» amén de que tengo la mala costumbre de pisar el trabajo de los demás*.

(*) Este asterisco viene de una vez en la que sí metí la pata y me cargué sus cambios al desestimar un conflicto. Volver a una versión anterior y resolver la mezcla me llevó 10 minutos. Es lo bueno de los repositorios de versiones, nada se pierde.

Mi respuesta es invitarlo a comprobar que no he realizado ningún cambio reciente, que el último es de las 10.00h de la mañana y que mi trabajo también incluye la modificación de esos archivos. También le propongo mezclar yo los archivos dado que estimo que no me llevará más de 15 minutos pero él insiste en que ha cambiado demasiado y que la mezcla llevará al menos una hora. Trato de que considere que tales cambios sólo son producto de que mi editor de texto ha reemplazado los tabuladores por espacios y que por eso parece mucho más de lo que hay…

En este momento llegan mis jefes que preguntan que qué pasa. Mi compañero insiste en que he realizado un montón de cambios, que subí los cambios si cerciorame de que nadie estuviera tocando el archivo y que la mezcla durará una hora. De nuevo indico mi intención de asumir la responsabilidad y de mezclar yo dado que reconozco que no pregunté si alguien estaba usando el archivo porque, para mí, el proceso de mezcla es parte del ciclo de desarrollo. Finalmente tomo la siguiente decisión: que se desestimen mis cambios y se reemplace mi versión por la suya. Una vez hecho esto afirmo que podré reconstruir los cambios en unos 15 minutos que es lo que me llevará mezclar el código con mi versión local.

Primeramente indico al visor de diferencias que no tenga en cuenta los espacios en blanco lo que convierte los dos grandes bloques de modificaciones en algunas líneas sueltas. A continuación resuelvo la mezcla en 20 minutos. Ni más ni menos. Compruebo que mis cambios en ese archivo a penas llegan al 10% de los totales. Pero la verdad, esto ya lo sabía.

Seguir leyendo «Del amor propio a la obsesión por lo que es mío»

Mi segunda entrevista con Google

Bueno, antes de nada decir que no la he pasado, pero que no hay nada que lamentar. Estoy trabajando en Telefónica I+D desde hace tres semanas y me gusta mucho el puesto en el que estoy (sólo tengo que conseguir que me contraten ellos y no andar de subcontratado, jejeje).

Esta vez fueron otros 45 minutos; me puse muy nervioso y me trababa cada dos por tres. Es lo más negativo que observé de mi actuación: que me faltaban las palabras. De nuevo se dividió en dos partes: durante la primera tuve que describir mis experiencias trabajando y durante la segunda hacer algo de programación y analizar mis propios algoritmos. Salí muy convencido de que esta parte la había hecho bien pero, mira tú por dónde, hoy mismo me di cuenta de que hubo un par de problemas en mis respuestas.

En fin, espero que mis errores ayuden a otros. Vamos con el contenido de la entrevista.

Seguir leyendo «Mi segunda entrevista con Google»