Al momento sto scrivendo Ruby, PHP, Java, C e JavaScript e scriverò per almeno 1 ora in ciascuno di questi ogni giorno. Il problema principale è in realtà trovare il tempo poiché sono tutti progetti non correlati.
Spostamento mentale
Il mio stile di lavoro è tale che mi piace lavorare per lunghi periodi di tempo. Sfortunatamente, questo significa che se ho una sola cosa, quando incontro un blocco mentale con un pezzo di codice, ci vorrà molto tempo per superarlo. Neanche io riesco a prendermi una pausa. Avendo altri progetti, e in particolare altre lingue, per passare a quando mi blocco, significa che quando tornerò alla lingua originale, ho immediatamente una soluzione.
Quindi, sì, c'è un cambiamento mentale e penso che mi renda molto più produttivo.
Assegnazione di priorità alle attività
Uso un task manager (gTasks per Android) e ho un elenco di cose da fare separato per ogni progetto. Se un progetto richiede più lingue, non le separo. Questo di solito è perché saranno strongmente correlati in qualche modo. Ad esempio, JavaScript e Ruby per fare alcune cose AJAX. Se le lingue sono tecnicamente per lo stesso progetto ma il progetto è così grande da essere sostanzialmente non correlate, probabilmente le conterò come progetti separati.
In generale, la mia priorità è "qualsiasi elenco abbia il maggior numero di attività", ma cambierò sempre se rimango bloccato su un problema.
Convenzioni di codifica
È un po 'un mix:
- Se il progetto è sviluppato con altri, ovviamente mi conformerò a qualunque convenzione sia stata presa per quel progetto.
- Se il progetto è personale, mi piace che il mio codice sia coerente con lo stile dominante nella community / libreria standard per una determinata lingua. Trovo difficile leggere il codice Java se tutte le funzioni degli utenti sono in snake_case, ad esempio. Allo stesso modo, i metodi CamelCase in Ruby sembrano strani e fuori luogo.
- Per le convenzioni che non sono rese evidenti dal semplice uso di un linguaggio, come indentazione, tendo ad adottare i miei standard e usarli in tutte le lingue che uso. In caso di indentazione, utilizzo sempre 2 spazi. Per lo stile di parentesi, utilizzo sempre ciò che Wikipedia sta attualmente decidendo di chiamare lo Stile di leggibilità del controllo compatto .
A parte: la sfida più grande per me è in realtà il passaggio da un linguaggio di stile all'altro. È molto difficile correre insieme quando si codifica SASS al fianco di Ruby e quindi si deve tornare al CSS per tutto il resto. In misura minore, ho lo stesso problema con HAML / HTML e JSON / XML.