Mon équipe vient de commencer à utiliser creuset / fisheye pour lancer des révisions de code chaque fois que l'un de nous vérifie quelque chose. Nous ne sommes que 3, et nous sommes chacun encouragés à réviser le code et à laisser des commentaires où nous le jugeons approprié.
Ma question est la suivante: comment laisser au mieux un commentaire sur une ligne de code avec laquelle je vois un problème? Je veux faire passer mon message sans paraître abrasif.
Je ne veux pas avoir l'air d'être sur un cheval élevé et dire " Je l'ai fait de cette façon ... et je ne veux pas non plus avoir l'air de faire autorité et dire quelque chose comme " Cela devrait être fait de cette façon ... " mais je dois encore faire comprendre que ce qu'ils font n'est pas très bon.
Pour clarifier: Ceci est une très bonne ressource pour ce que je devrais chercher à commenter: une revue de code est-elle subjective ou objective (quantifiable)? , mais je cherche comment commenter cela.
la source
Réponses:
Eh bien, j'ai tendance à faire des commentaires dans plusieurs domaines généraux et chaque type peut être traité différemment.
Modifications requises. Ce sont les types de changements où je souligne que le code ne répond pas aux exigences fonctionnelles ou ne fonctionne pas et doit être corrigé avant d'être poussé en production. J'ai tendance à être très simple dans ces commentaires. Les exigences disent ..., cela ne fait pas ça. Ou cela échouera si la valeur envoyée est nulle (surtout lorsque vous savez que ce cas se produira en fonction des données qui seront envoyées).
Ensuite, il y a les commentaires «cela fonctionne, mais voici une meilleure façon d'accomplir cela». Vous devez être plus doux dans ces domaines et faire plus d'argument de vente. Je pourrais dire que je le ferais à la place, car il est susceptible d'être plus performant (je passe généralement en revue le code SQL où les performances sont très importantes). Je pourrais ajouter quelques détails sur la raison pour laquelle c'est un meilleur choix, tout comme je le ferais pour répondre à une question sur Stack Overflow. Je pourrais souligner qu'il n'est pas nécessaire de changer cela pour ce code particulier, mais de considérer le changement dans le codage futur. Fondamentalement, avec ces types de commentaires, j'éduque les personnes ayant moins d'expérience sur ce qui pourrait mieux fonctionner.
Ensuite, il y a les commentaires "ça marche mais on fait les choses comme ça". Ces modifications seront probablement également nécessaires. Cela inclurait des commentaires sur les normes de l'entreprise ou l'architecture que nous attendons d'eux. Je voudrais faire référence à la norme ou au document d'architecture et leur dire de se conformer à la norme. Le commentaire serait simple mais neutre, il manque ainsi et ainsi ou les noms de variables ne sont pas conformes à notre standard de nommage ou à des choses similaires. Par exemple, notre architecture pour les packages SSIS nécessite que le package utilise notre base de données de métadonnées pour stocker des informations particulières sur le package et nécessite une journalisation particulière. Le package fonctionnerait sans ces éléments, mais ils sont nécessaires pour des raisons d'entreprise (nous devons par exemple signaler le taux de réussite des importations ou analyser les types d'erreurs que nous recevons.)
La seule chose que vous ne voulez pas faire dans les commentaires de révision de code est d'attaquer personnellement quelqu'un. Cela peut aussi être utile si vous trouvez quelque chose qu'ils ont bien fait et que c'est bon. Parfois, j'apprends quelque chose de nouveau à partir d'une revue de code et si je le fais, je le dis à la personne.
la source
Si le code suit vos normes de codage, mais vous le feriez d'une manière différente, vous devez vous demander si ce qu'ils ont fait est mal.
Si ce n'est pas ... ce n'est tout simplement pas la façon dont vous l'auriez fait et vous ne pouvez pas le laisser, essayez simplement de demander 'Pourquoi l'avez-vous fait de cette façon plutôt que de cette façon?' Ensuite, vous leur faites comprendre pourquoi ils l'ont fait comme ils l'ont fait sans dire `` Je l'aurais fait de cette façon et vous devriez aussi ... ''
Vous pourriez également apprendre quelque chose au cours du processus.
la source
Ne confondez pas la concision avec le fait d'être abrasif. Quand quelque chose pose problème, documentez-le de manière à ce que celui qui va le résoudre puisse le comprendre. Restez fidèle aux faits et n'écrivez pas de dissertation. En être témoin:
Cela provoquera un dysfonctionnement du frobnitz lorsque le fooble se trouve à moins de 5 grimbles du facteur snorgatz.
La convention établie pour ce faire est d'appeler fazzatz () avec un Squidge fraîchement initialisé. Faites-en une méthode pour que cela se produise toujours de la même manière et ne soit pas dupliqué.
Le but de l'examen du code est de mettre une seconde paire d'yeux, généralement plus expérimentée, pour détecter les problèmes. Si vous êtes en mesure de porter un jugement sur le travail des autres et qu'il y a une raison valable de dire que quelque chose n'est pas bon, vous négligeriez votre responsabilité de réviseur si vous ne le faisiez pas.
Il y aura des désaccords, et ce sont des occasions pour le réviseur et le révisé de défendre leurs positions. Si vous êtes autrement des pairs et que vous atteignez une impasse, trouvez quelqu'un de plus âgé pour rompre le lien.
la source
Cela dépend du type de problème qui a été constaté
la source
Selon mon expérience:
Ayez toujours l'auteur du code avec vous lors de la révision de son code. De préférence, le code est projeté sur le tableau blanc et vous pouvez clairement voir le code très bien.
Ayez une conversation amicale. Appréciez la bonne partie du codage. Dites-lui que "c'est le meilleur que j'ai vu" si vous voyez de bonnes parties dans le code.
la source