En chassant un bogue, j'ai trouvé quelques lignes de code que j'avais du mal à lire et je les ai améliorées pour plus de lisibilité.
Ce changement a rapproché le code de ce que dit notre Convention de codage, qui stipule également que nous devrions "corriger le code qui n'est pas écrit dans ce style".
Maintenant un de mes pairs, qui a de l'ancienneté disons en raison de la durée de son mandat là-bas. Un gars intelligent, dévoué au code, et a écrit des pièces importantes. Me tire de côté et dit:
Pourquoi fais-tu ça? Vous changez mon code. Nous sommes une équipe. Ce code a été écrit de manière à être compris par tous les membres de l'équipe. Et doit être maintenable même après 100 ans. Si vous ne suivez pas les conventions de l'équipe, nous devons nous séparer, ou je parlerai aux responsables pour que vous n'ayez plus jamais à toucher à ce code. Cette chose ... ne sera pas comprise par les développeurs juniors, et je sais ce que vous faites là-bas, simplement parce que je peux voir la différence. J'ai écrit ce code et je connais chaque ligne qu'il contient, et maintenant il est difficile de le suivre. Ce n'est pas lisible et j'écris mon code pour qu'il précise ce que je pense. Vous devriez faire ce que je vous dis de faire - cela signifie ne touchez pas à mon code, et s'il y a des bogues corrigez le bogue et c'est tout.
OK, j'avoue que je suis coupable Je n'ai pas suivi la Convention du Code à un T, mais en général, je pense que ma version est plus lisible que la version précédente.
J'ai inversé les changements, et juste corrigé le bogue qui était quelques lignes ci-dessous. Mais cela me laisse mal à l'aise car je suis complice de laisser un code désordonné. Ce n'est pas le seul endroit dans la base de code qui a de longues lignes et plusieurs instructions sur une ligne, mais au moins je n'ai pas eu à passer autant d'itérations avec.
Dois-je lâcher prise, ou aller parler aux supérieurs, à ses managers, à leurs managers, etc. D'une part pour 3 lignes ce sera stupide, vu le fait que j'ai récemment rejoint donc ils ne me connaissent pas très bien, d'autre part c'est une question de principes et cela me dérange beaucoup.
- La personne avec qui j'ai eu cette discussion n'est pas mon manager, c'est un pair. Nous sommes au même niveau. Son ancienneté perçue est basée sur le fait qu'il est là depuis plus longtemps que moi.
- La convention de code dit clairement que je peux changer le code pour le rendre dans l'esprit de la convention de code. La convention a été écrite par son responsable direct.
- @Fattie - J'ai tendance à convenir en général que les deux versions du code sont des ordures. Je suis fan de Oncle Bob, Grady Booch, Kent Back, Martin Fowler, etc ... Donc je sais ce que vous sous-entendez. Maintenant, je ne suis pas allé jusqu'au bout pour le rendre méconnaissable, car j'avais peur de me lancer dans ce différend territorial. J'ai simplement suivi la convention dans ce cas.
- J'ai l'impression que certains d'entre vous supposent qu'être nouveau à cet endroit signifie être inexpérimenté. Je vous en prie, ne le supposez pas.
- Pour moi, la lisibilité du code est un précurseur pour une maintenance plus facile sur la route. Je sais que je peux couper les coins ronds et laisser les choses telles quelles. Je vais éventuellement changer de navire. Les futurs développeurs devront y faire face. Pas besoin de me compliquer la vie pour 3 lignes de code. Je voulais juste recueillir des opinions si le combat en valait la peine. À cet égard (dans ce cas), la réponse de @ A.O est la plus logique.