Al momento sto scrivendo Ruby, PHP, Java, C e JavaScript e scriverò per almeno 1 ora in ognuno di questi ogni giorno. Il problema principale è davvero quello di trovare il tempo in cui sono tutti per 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 solo una cosa, quando incontro un blocco mentale con un pezzo di codice, ci vorrà molto tempo per superarlo. Non trovo che fare una pausa sia di aiuto. Avendo altri progetti, e in particolare altre lingue, per passare a quando rimango bloccato significa che quando torno alla lingua originale, ho immediatamente una soluzione.
Pertanto, sì, c'è un cambiamento mentale e penso che mi renda molto più produttivo.
Assegnazione delle 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 fortemente 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 che sono essenzialmente indipendenti, probabilmente li considererò come progetti separati.
In generale, la mia priorità è "qualunque sia la lista che ha il maggior numero di compiti", ma cambierò sempre se rimango bloccato su un problema.
Convenzioni di codifica
È un po 'un mix:
- Se il progetto viene sviluppato con altri, ovviamente mi conformerò a qualunque convenzione sia stata decisa per quel progetto.
- Se il progetto è personale, mi piace che il mio codice appaia coerente con lo stile dominante nella libreria comunità / standard per una determinata lingua. Trovo difficile leggere il codice Java se tutte le funzioni degli utenti sono in snake_case, per esempio. Allo stesso modo, i metodi camelCase in Ruby sembrano strani e fuori posto.
- Per le convenzioni che non sono rese ovvie dal semplice uso di una lingua, come il rientro, tenderò ad adottare i miei standard e ad usarli in tutte le lingue che uso. In caso di rientro, utilizzo sempre 2 spazi. Per lo stile di parentesi graffa, uso sempre quello che Wikipedia sta attualmente decidendo di chiamare lo stile di leggibilità del controllo compatto .
A parte: la più grande sfida per me è in realtà il passaggio tra le lingue di stile. È molto difficile correre insieme quando si codifica SASS insieme a Ruby e poi si deve tornare ai CSS per tutto il resto. In misura minore, ho lo stesso problema con HAML / HTML e JSON / XML.
.equals
javascript. Almeno ho sempre sbagliato in questo modo piuttosto che usare==
in Java.