En este momento estoy escribiendo Ruby, PHP, Java, C y JavaScript y escribiré por un mínimo de 1 hora en cada uno de estos cada día. El problema principal es realmente una cuestión de encontrar el tiempo, ya que son todos para proyectos no relacionados.
Cambio mental
Mi estilo de trabajo es tal que me gusta trabajar durante largos períodos de tiempo. Desafortunadamente, esto significa que si solo tengo una cosa activada, cuando encuentro un bloqueo mental con un fragmento de código, me llevará mucho tiempo superarlo. No creo que tomar un descanso ayude tampoco. Al tener otros proyectos, y en particular otros idiomas, para cambiar cada vez que me atasco significa que para cuando vuelva al idioma original, inmediatamente tengo una solución.
Por lo tanto, sí, hay un cambio mental y creo que me hace mucho más productivo.
Priorizar tareas
Utilizo un administrador de tareas (gTasks para Android) y tengo una lista de tareas por separado para cada proyecto. Si un proyecto requiere varios idiomas, entonces no los separo. Esto generalmente se debe a que estarán fuertemente relacionados de alguna manera. Por ejemplo, JavaScript y Ruby por hacer algunas cosas de AJAX. Si los idiomas son técnicamente para el mismo proyecto, pero el proyecto es tan grande que esencialmente no están relacionados, es probable que los cuente como proyectos separados.
En general, mi prioridad es "la lista que tenga más tareas", pero siempre cambiaré si me encuentro con un problema.
Convenciones de codificación
Es un poco una mezcla:
- Si el proyecto se desarrolla con otros, entonces obviamente cumpliré con las convenciones que se hayan decidido para ese proyecto.
- Si el proyecto es personal, me gusta que mi código se vea coherente con el estilo dominante en la comunidad / biblioteca estándar para un idioma determinado. Me resulta difícil leer el código Java si todas las funciones de los usuarios están en snake_case, por ejemplo. Igualmente, los métodos camelCase en Ruby se ven raros y fuera de lugar.
- Para las convenciones que no se hacen obvias simplemente usando un lenguaje, como la sangría, tenderé a adoptar mis propios estándares y a usarlos en todos los idiomas que uso. En el caso de la sangría, siempre uso 2 espacios. Para el estilo de llaves, siempre uso lo que Wikipedia está decidiendo actualmente llamar el Estilo de legibilidad de control compacto .
Aparte: el mayor desafío para mí es cambiar de idioma de estilo. Es muy difícil correr al codificar SASS junto con Ruby y luego tener que volver a CSS para todo lo demás. En menor medida, tengo el mismo problema con HAML / HTML y JSON / XML.
.equals
javascript. Al menos siempre me equivoco de esa manera en lugar de usarlo==
en Java.