Je travaille sur une ancienne base de code qui n'est ... pas parfaite , dans un environnement qui ne l'est pas non plus. Ce n'est pas la pire base de code que j'ai vue de ma vie, mais il y a encore beaucoup de problèmes: zéro test unitaire; méthodes avec mille + lignes de code; incompréhension des principes de base orientés objet; etc.
Cela fait mal de maintenir le code.
- Chaque fois que je dois déboguer un millier de lignes d'une méthode mal écrite avec des variables réutilisées partout, je suis totalement perdu.
- Quelques modifications ou refactoring que j'ai fait ont introduit des bugs dans d'autres endroits de l'application.
- En l'absence de documentation, de tests ou d'architecture observable et combiné à des méthodes mal nommées, je sens que je remplis toute ma mémoire de travail disponible. Il n'y a plus de place pour toutes les autres choses dont je dois me souvenir afin de comprendre le code que je dois modifier.
- Les interruptions constantes sur le lieu de travail me perturbent et me ralentissent.
- Je ne me souviens pas de plus de deux ou trois tâches à la fois sans système de suivi des bogues, et je les oublie toutes le week-end.
Mes collègues ne semblent pas avoir des problèmes similaires.
- Ils parviennent à déboguer des méthodes mal écrites beaucoup plus rapidement que moi.
- Ils introduisent moins de bugs que moi lors du changement de base de code.
- Ils semblent se souvenir très bien de tout ce dont ils ont besoin pour changer le code, même quand cela nécessite de lire des milliers de lignes de code dans vingt fichiers différents.
- Ils ne semblent pas être dérangés par les e-mails, les téléphones qui sonnent, les gens qui parlent tout autour et les autres personnes qui leur posent des questions.
- Ils ne veulent pas utiliser le système de suivi des bogues que nous avons déjà depuis que nous utilisons TFS. Ils préfèrent se souvenir de chaque tâche qu'ils doivent faire.
Pourquoi cela arrive-t-il? Est-ce une compétence particulière que les développeurs acquièrent en travaillant avec du code mal écrit pendant longtemps? Mon manque relatif d'expérience avec un mauvais code contribue-t-il à ces problèmes / sentiments? Ai-je des problèmes de mémoire?