Dans l'entreprise pour laquelle je travaille, les demandes de changement passent par différentes étapes, dont une étape de développement, une étape d'examen par les pairs et une étape de test. Sur cette demande de modification particulière, j'ai été affecté en tant que développeur et un collègue développeur a été affecté en tant que réviseur.
Ce collègue est celui qui m'a formé à l'origine. Il travaille dans l'entreprise depuis plus de 10 ans, alors que je l'ai rejoint il y a un an, juste après l'université. Il a plus d'années d'expérience en tant que développeur que moi. Malgré cela, il est toujours mon pair car nous sommes tous les deux des développeurs de "niveau intermédiaire" (non plus juniors mais pas seniors).
Cette demande de changement particulière implique une fonction ancienne et compliquée. Il est mal écrit selon n'importe quel code standard, mais cela fonctionne. Il m'a fallu quelques heures pour trouver ce que j'avais besoin de changer. Le client voulait un ordre d'évaluation différent pour déterminer la valeur initiale d'un champ (par exemple, vérifiez client.address avant debtor.address au lieu de l'inverse).
Mon collègue a remarqué que je prenais du temps et j'ai regardé au code source avec moi. Il a indiqué un code et a dit: "Vous devez supprimer cela". J'avais des doutes à ce sujet, mais j'ai quand même essayé. L'essayer m'a fait comprendre où était le problème. En fin de compte, j'ai dû changer deux déclarations.
J'ai documenté le changement, l'ai testé et il a fonctionné comme prévu. J'ai transmis la demande de modification à mon responsable, qui a vérifié qu'elle fonctionnait et l'a transmise à l'évaluateur. Je l'ai reçu quelques minutes plus tard avec les commentaires "cela ne fonctionnera pas, vous avez changé le mauvais code" et "vous n'avez pas fait ce que j'ai dit".
J'ai dit que j'ai essayé ce qu'il dit, mais cela n'a pas fonctionné. Le code auquel il faisait référence n'était pas lié à la demande de changement, sauf qu'ils faisaient quelque chose avec ce même champ. Sa réponse a été que ce qu'il a dit n'était qu'un indice, parce que je dois être capable de comprendre les choses par moi-même.
Maintenant, il refuse de transmettre la demande de modification aux testeurs jusqu'à ce que je corrige mon erreur. Je lui ai demandé plus de détails, et il n'arrête pas de dire que je dois le découvrir par moi-même, car j'ai besoin d'apprendre. Je dois commencer par supprimer le code qu'il mentionne, selon lui. Puisque ce code n'a rien à voir avec la demande de changement en question, je suis très réticent. J'ai demandé à notre responsable, et il a dit de présenter mon argument au critique, car le responsable ne connaît pas la programmation. J'ai essayé cela, mais le critique est catégorique dans son argument et me rejette avec "fais ce que j'ai dit".
En partie à cause de l'âge de ce code, il n'y a pas de tests unitaires et ils ne peuvent pas être écrits pour eux sans réécrire la moitié de la base de code.
Comment résoudre cette situation?