En ce moment, j'écris Ruby, PHP, Java, C et JavaScript et j'écrirai pendant au moins 1 heure dans chacun d'eux chaque jour. Le problème principal est vraiment de trouver le temps car ils sont tous pour des projets sans rapport.
Déplacement mental
Mon style de travail est tel que j'aime travailler pendant de longues périodes. Malheureusement, cela signifie que si je n'ai qu'une seule chose, lorsque je rencontre un blocage mental avec un morceau de code, il me faudra beaucoup de temps pour m'en remettre. Je ne trouve pas non plus que prendre une pause aide. En ayant d'autres projets, et en particulier d'autres langues, pour passer à chaque fois que je suis bloqué, au moment où je reviens à la langue d'origine, j'ai immédiatement une solution.
Par conséquent, oui, il y a un changement mental et je pense que cela me rend beaucoup plus productif.
Hiérarchiser les tâches
J'utilise un gestionnaire de tâches (gTasks pour Android) et j'ai une liste de tâches distincte pour chaque projet. Si un projet nécessite plusieurs langues, je ne les sépare pas. C'est généralement parce qu'ils seront fortement liés d'une manière ou d'une autre. Par exemple, JavaScript et Ruby pour faire des trucs AJAX. Si les langues sont techniquement pour le même projet mais que le projet est si grand qu'elles sont essentiellement indépendantes, je les compterai probablement comme des projets distincts.
Généralement, ma priorité est "quelle que soit la liste qui a le plus de tâches" mais je changerai toujours si je suis bloqué sur un problème.
Conventions de codage
C'est un peu un mélange:
- Si le projet est développé avec d'autres, je me conformerai évidemment aux conventions qui auront été décidées pour ce projet.
- Si le projet est personnel, j'aime que mon code semble cohérent avec le style dominant dans la bibliothèque communautaire / standard pour une langue donnée. J'ai du mal à lire le code Java si toutes les fonctions des utilisateurs sont dans snake_case, par exemple. De même, les méthodes camelCase dans Ruby semblent étranges et hors de propos.
- Pour les conventions qui ne sont pas rendues évidentes en utilisant simplement une langue, comme l'indentation, j'ai tendance à adopter mes propres normes et à les utiliser dans toutes les langues que j'utilise. Dans le cas d'une indentation, j'utilise toujours 2 espaces. Pour le style d'accolade, j'utilise toujours ce que Wikipedia décide actuellement d'appeler le style de lisibilité du contrôle compact .
En plus: Le plus grand défi pour moi est en fait de basculer entre les langages de style. Il est très difficile de courir le long lors du codage de SASS aux côtés de Ruby, puis de devoir revenir en CSS pour tout le reste. Dans une moindre mesure, j'ai le même problème avec HAML / HTML et JSON / XML.
.equals
en javascript. Au moins, je me trompe toujours de cette façon plutôt que d'utiliser==
en java.