Question:
N'est-il pas professionnel d'appeler le code «poubelle»?
Ostati
2017-10-21 01:06:22 UTC
view on stackexchange narkive permalink

Intro: j'écris des logiciels depuis plus de 15 ans et dirige actuellement une équipe d'environ 10 développeurs avec lesquels je vérifie quotidiennement le code. Mes commentaires sont généralement directs, honnêtes et simples.

Cependant, la critique d'aujourd'hui contenait un commentaire dans l'e-mail qui rendait peu de gens assez nerveux; ça va comme ceci:

Si l'amélioration du score de qualité du code signifie que nous devons introduire des déchets comme ci-dessous, alors nous avons de sérieux problèmes.

I a été immédiatement entraîné dans une session de discussion privée, où j'ai été formé sur la conduite et invité à ne pas utiliser un langage non professionnel, sinon ils répondraient en plus de mon commentaire par un avertissement condamnant les comportements non professionnels.

Que feriez-vous de ceci; pourquoi pensez-vous que ma langue n'était pas professionnelle?

Et oui, le code était horrible, vous pouvez me croire sur parole.

Mise à jour 1: Code complet l'examen était détaillé et constructif, avec des suggestions sur la façon de l'améliorer et d'éviter de telles erreurs dans les outils de qualité du code.

Mise à jour 2 (après une longue période): Je continue à voir le même problème de temps en temps, mais laissez-moi être très clair sur quelque chose: j'aurais dû mentionner avant que le mot «poubelle» que j'ai utilisé était pour une partie du code qui n'est pas quelque chose que les développeurs font avec passion, mais plutôt une suggestion du code Outil de qualité, qui se retrouve dans notre base de code suite à un copier / coller.

Indépendamment de ce que vous ou moi pourrions penser, la haute direction * de votre entreprise * a clairement indiqué qu'elle * considérait * cela comme non professionnel.En supposant que vous souhaitiez continuer à travailler là-bas, je pense que vous seriez bien avisé d'accepter cela et d'ajuster votre comportement en conséquence.
Une chose qu'il m'a fallu beaucoup de temps pour apprendre: les gens perçoivent les mots que vous utilisez pour décrire leurs mots, leurs pensées, leurs actions ou leur travail comme les décrivant *.Si vous dites "ce code est des déchets", alors l'auteur du code le perçoit généralement lorsque vous les appelez des déchets.Ce qui est encore pire dans ce cas, c'est que vous * savez * la personne qui a écrit ce code est capable d'entendre / lire vos mots en l'appelant «poubelle» et vous avez également fait la déclaration publiquement.Souhaitez-vous aller voir un développeur au milieu de l'enclos devant tout le monde et dire: "Vous êtes des ordures!"Espérons que non.Malheureusement, c'est ce que vous avez fait ici.
Déclarant mon accord avec @ostati's dernière modification.Une grande partie de ce site est une référence pour les futures personnes.Critiquer excessivement le PO n'aide pas du tout cet objectif, et le faire revient à répéter exactement la même erreur que le PO a commise.Nous faisons tous des erreurs.Pas besoin d'être personnel sur celui-ci.Le PO a eu la clairvoyance de demander un avis extérieur par la suite, et à tout le moins cela est certainement louable.
Vous avez probablement essayé de dire * "ce niveau de code est inférieur à vous, je sais que vous pouvez faire mieux!" * Mais à la place, vous avez probablement l'impression de dire * "vous êtes mauvais et votre travail est mauvais, alors vous devriezse sentir mal"*.
@Steve-O, peu importe ce qu'en pense la "haute direction".Un tel langage érodera presque certainement la bonne volonté des collègues de ce PO, portant atteinte à la confiance et à la capacité de coopération.Citer tout ce que le patron peut penser comme la seule raison d'éviter un tel comportement n'est pas utile au PO.Il y a de bonnes raisons d'éviter un tel langage qui va bien au-delà de «vous pourriez vous faire prendre».
J'ai vu le modèle dans l'incarnation suivante: la direction introduit quelque chose de nouveau, les développeurs juniors commencent à l'utiliser (par peur), les développeurs seniors sans fil se moquent des développeurs juniors au lieu de s'occuper de la direction.Exemples typiques: gestion des exigences, gestion systématique des tests et (en tant qu'OP) outils d'analyse de code.
Je pense que c'est un commentaire qui serait passé par le passé où les révisions de code étaient effectuées en rassemblant tout le monde dans une pièce et en en discutant.J'en aurais probablement sorti dans le feu de la discussion et j'aurais été reconnu comme une hyperbole, ce qui aurait suscité plus de discussions.Dans la revue en ligne d'aujourd'hui, non seulement il y est enregistré pour toujours, mais vous n'avez pas l'intonation vocale ou le langage corporel pour déterminer comment cela était voulu.Dans une revue où les choses sont écrites, les commentaires doivent être aussi simples que possible pour ne pas être mal compris.
À moins que le codage en question n'automatise les processus des équipements d'élimination des déchets, l'utilisation inutile de ce descripteur serait difficile à considérer comme non insultante.
En tant que chef de file, c'est au-delà du non professionnel.C'est vraiment insultant.
Toutes les (excellentes) réponses jusqu'à présent se concentrent sur l'aspect «déchets» - mais que signifie vraiment la référence à «l'amélioration du score de qualité du code»?N'est-ce pas en quelque sorte une critique d'une norme ou d'un outil inapproprié?Il semble que cet angle a été perdu de vue.
@peterG Oui, c'est exactement ce qu'est le problème avec l'instruction OPs, cela nuit à ce qui pourrait être une bonne idée en raison de son composant insultant et dur.
«Garbage» n'est pas constructif.C'est une réponse aussi simple que cela.
Imaginez que vous avez un enfant et qu'il dessine quelque chose et vous le donne.Bien sûr, nous savons tous à quoi ressemblent les dessins d'enfants.Diriez-vous à votre fils que son dessin est une poubelle?Ou faire ce commentaire à votre femme pendant qu'il l'entend?Je suppose que non.Pourquoi?Pourquoi feriez-vous alors la même chose à votre collègue?
Étant quelqu'un qui a 15 ans d'expérience et qui mène des révisions de code quotidiennes, je suis surpris que vous posiez même cette question.Je suis d'accord avec @Mike
S'il vous plaît, s'il vous plaît, s'il vous plaît ... affichez le code.obscurcissez-le par tous les moyens, mais s'il vous plaît laissez-nous le voir dans toute sa splendeur!
Votre commentaire dérisoire a nui au moral de l'équipe et à la malheureuse personne qui a écrit ce code, personne n'en a profité.Vous vous êtes fait passer pour un tyran arrogant, l'intro de votre message montre que parce que vous avez eu 15 ans dans le logiciel, vous vous sentez autorisé à le faire.Je pense que vous devriez vous regarder attentivement avant de faire plus de dégâts.
Avez-vous considéré les sentiments de la personne qui a écrit ce code que vous insultez?
Le plus gros problème ici semble être d'avoir un développeur principal qui ne peut pas faire de révision de code.
Onze réponses:
Conor Mancone
2017-10-21 01:19:12 UTC
view on stackexchange narkive permalink

Que feriez-vous de ceci; pensez-vous que mon langage n'était pas professionnel?

Oui.

Votre commentaire a franchi la ligne de la correction (qui repose généralement sur des commentaires spécifiques et concrets) à l'insulte ("ceci est terrible et si nous continuons, nous sommes condamnés ").

Peu importe l'expérience que vous avez. Ce n'est pas grave si le code est une poubelle complète. L'honnêteté n'est pas une excuse pour être impoli. C'est l'un des moyens les plus rapides d'arrêter les progrès et l'élan d'une équipe. Peu importe votre expérience ou votre productivité individuelle, vous allez globalement nuire à votre entreprise si l'attitude que vous projetez sur le lieu de travail gêne vos collègues.

La raison pour laquelle cela est particulièrement gênant (et pourquoi votre direction probablement répondu si sévèrement) est parce que cela nuit réellement à votre équipe à long terme. Sachez que si votre objectif est d'améliorer la qualité réelle du code produit par votre équipe, cela nuira activement à vos objectifs. La raison en est que lorsque vous avez la réputation d'être critique et non utile, les gens ne viennent pas vous demander de l'aide (et ne vous écoutent généralement pas lorsque vous essayez de vous aider). En conséquence, toute expérience que vous avez sera perdue avec le temps, car les gens cesseront de vous écouter.

Soyez poli. Offrez de l'aide et des corrections, et non des critiques. Je pense personnellement que dans des situations comme celle-ci, des excuses (à la fois à la personne en question et à l’équipe) sont très raisonnables.

Modifier pour ajouter il est certainement bon qu'il y ait également une critique utile, mais gardez à l'esprit que la perception est aussi importante que la réalité. Dans de nombreux cas, il suffit d'un seul mot mal choisi pour annuler tout bien réel que la révision du code lui-même fait. Un examen du code très instructif qui se termine par (et je comprends que ce n'est pas exactement ce qui s'est passé) "dans l'ensemble, c'est des ordures" va toujours laisser au codeur une très mauvaise impression dans l'ensemble, et il est fort probable qu'il s'arrête écouter tout ce que vous dites. Il est important de garder le tout professionnel, à chaque étape du processus.

@Conor Mancone: Veuillez modifier votre commentaire selon les informations fournies dans la mise à jour 1/2.
La perception est la réalité pour tout le monde dans la pièce.Une fois la perception établie, la réalité est perdue.Ces personnes ne réévalueront probablement pas la situation.
Que pensez-vous s'il s'agissait d'un examen à l'aveugle et que personne dans l'équipe, y compris le critique, ne savait qui avait écrit le code à l'exception de l'auteur?
@RibaldEddie Le fait (de mon point de vue) est que l'un des plus gros problèmes est l'impact sur le moral de l'équipe.Si c'est public (ce que c'est), tout le monde le voit, et cela colore la façon dont chacun pense et agit, même s'il n'était pas l'auteur du code.La plupart des gens auront peur d'obtenir eux-mêmes la même réponse, et ce n'est bon pour personne.Sans parler de l'impact très réel qu'il aura encore sur la personne qui l'a écrit.Le fait qu'ils ne sachent pas qui est la personne critique rendra probablement les gens plus nerveux, pas moins.
@ConorMancone mais ils savent si ce n’est pas eux.À mon avis, cela rendrait les choses différentes parce qu'elles ne sont plus considérées comme personnelles.Si vous critiquez le travail sans savoir qui l'a fait, et que seule la personne qui a fait le travail le sait, alors je pense que cela le rend moins susceptible d'être pris personnellement.De plus, l’OP n’a pas dit ce que l’auteur du code pensait.La direction aurait pu ne pas l'aimer, mais si le reste de l'équipe ne s'en souciait pas, cela pourrait également être différent.
@RibaldEddie: Franchement, c'est un scénario modérément inhabituel que vous décrivez.Quand je fais une révision de code, je sais exactement qui la demande, et tout est mené publiquement.Je pense que d'autres entreprises technologiques ont tendance à opérer leurs révisions de code de la même manière.Peut-être que votre lieu de travail est différent du mien, mais il est d'une utilité limitée pour faire des suppositions aléatoires sur la situation d'OP.
@Kevin Je n’ai pas non plus vécu cela en termes de révision de code, mais j’ai pu voir une méthode en double aveugle utilisée dans certaines grandes entreprises pour garantir que les révisions soient menées de la manière la plus équitable possible.
"L'honnêteté n'est pas une excuse pour être impoli."+1 Vous pouvez dire ce que vous voulez dire de manière honnête et directe sans être blessant ou désobligeant.C'est vraiment à cela que cela revient.
Old_Lamplighter
2017-10-21 01:53:18 UTC
view on stackexchange narkive permalink

C'est le pire du manque de professionnalisme dans la technologie de l'information de se moquer du code d'autrui de cette manière et cela va au-delà de la dérision jusqu'à la façon dont vous avez fait valoir le point.

  1. Cela a été fait publiquement , c'est pourquoi vous avez été écarté (virtuellement)
  2. Cela perturbe une équipe.
  3. Cela engendre du ressentiment.
  4. Les codeurs, comme les artistes, prennent la critique TRÈS personnellement.
  5. C'était une chose extrêmement démotivante à dire. La productivité de ce codeur va en pâtir.
  6. Cela rend les autres moins disposés à prendre des risques, de peur de se faire ridiculiser.

Je dois dire dans les termes les plus forts possibles que c'est une MAUVAISE CHOSE . Il n'y a aucune excuse pour ce comportement. Ne le répétez pas.

J'ai mes propres sentiments et bon nombre d'entre nous ici sont d'accord. Je peux gérer quelqu'un qui a écrit du mauvais code avec beaucoup moins de stress que quelqu'un avec une mauvaise attitude. Je peux toujours vous aider à améliorer votre code, mais l'attitude d'une personne est hors de mon contrôle et je ne traiterai pas avec quelqu'un avec une mauvaise attitude.

Grands points de balle.Je les <3.
Re: 4 - IME, chacun prend personnellement la critique de son travail.Il est courant de voir son travail comme un reflet de soi.
Cela peut également entraîner un ralentissement de la productivité de l'équipe en raison du fait que l'équipe se sent nerveuse face à un ridicule potentiel, de sorte qu'elle est moins susceptible de se sentir à l'aise de soumettre du code pour examen, ce qui peut en fait convenir, par peur d'un traitement similaire.Cela peut conduire à passer plus de temps inutile à effectuer une auto-évaluation, mais aussi à des collègues qui s'interrompent pour un examen par les pairs à long terme.
Je pense que votre dernier paragraphe est peut-être un peu plus ici.Le PO se lit plus comme quelqu'un qui est trop direct pour son propre bien ou qui n'est pas pleinement en phase avec les normes sociales concernant la critique.C'est un problème corrigible et tout à fait différent d'avoir une mauvaise attitude.(Et bien sûr, un gestionnaire devrait encore s'en occuper, mais vous le géreriez différemment.)
@Lilienthal Je l'ai légèrement modifié, car je peux voir comment cela a pu paraître trop dur.Le fait est qu'il est beaucoup plus facile de corriger une déficience de compétence que de corriger une mauvaise attitude.
@GabrielC.Non, j'ai dit ce que je voulais dire, mais si un mot vous dérange tant, vous devriez peut-être lire l'article dans son ensemble.
Je changerais alors «non professionnel» pour «professionnalisme» car cela change complètement le sens.Le «point bas du professionnalisme» aurait beaucoup plus de sens.
@GabrielC.eh bien, cette réponse existe depuis près de 16 mois.Je pense que tout ira bien.C'est juste une façon colorée de dire le plus bas du bas.
@GabrielC.Nadir, (signifiant: "le point le plus bas de la fortune d'une personne ou d'une organisation.") Me semble être exactement le mot juste.Ce commentaire est le point le plus bas, vers lequel toute productivité diminue.Cela réduit la productivité et le moral.
@user87779 Je l'ai vu comme utilisant un double négatif, mais honnêtement, il aurait pu être écrit de toute façon et toujours sans doute correct.Je ne suis pas revenu à Richard parce que je comprends le point de son dernier commentaire.Si vous voulez mon avis, je considère le PO comme coupable du plus haut degré de non-professionnalisme ou affichant le plus bas niveau de professionnalisme.J'espère que cela clarifie les choses.Mon reproche n'était pas d'utiliser "nadir" lui-même.
@GabrielC.Non, j'ai compris tout cela de vos commentaires précédents.J'ajoutais simplement que je le considère comme tout à fait correct.Quoi qu'il en soit, c'est une chose INCROYABLEMENT mineure.Ne vaut vraiment pas la véhémence, ce qui est plutôt agressif
Travis Wilson
2017-10-21 02:50:19 UTC
view on stackexchange narkive permalink

Il peut être difficile pour une personne offensée par un langage comme celui-là d'expliquer sa réaction à des personnes qui ne sont pas offensées par un langage comme celui-là. Une règle empirique qui fonctionne généralement: si la déclaration critique porte sur des généralités au-delà d'un incident spécifique, elle est offensante (donc non professionnelle).

En d'autres termes, l'expression la plus professionnelle serait de vous en tenir à votre examen détaillé, qui était spécifique au code particulier en cours d'examen. Vous pourriez expliquer que ce mauvais code va améliorer le score de qualité du code, ce qui signifie que nous devons également travailler sur les métriques de qualité. Les gens sont prêts à travailler et à apprendre d'un incident grave. Tout est dans le contexte.

Mais lorsque vous passez à un contexte global, c'est ce que votre seul commentaire a fait (oui, juste une phrase!) Maintenant vous critiquez les employés eux-mêmes, ou toute l'entreprise, et c'est plus menaçant. Cela conduit (comme d'autres réponses le mentionnent) au ressentiment, à la déconnexion et à une perte d'énergie collaborative.

Vous pouvez trouver cette différence entre la critique globale et la plainte spécifique à une instance dans la littérature sur les relations. L'explication de John Gottman (voir "critique") est un exemple populaire.

Les mots que vous choisissez comptent, mais le contexte compte plus. Il est tout à fait normal (dans la plupart des magasins de logiciels que je connais) de dire «garbage in, garbage out» parce que cela a une signification spécifique et que vous utilisez l'expression pour décrire pourquoi une conception particulière ne convient pas. Allez comprendre.

La première phrase est brillamment posée et le reste est tout bon.THX.
gazzz0x2z
2017-10-21 01:38:14 UTC
view on stackexchange narkive permalink

direct, honnête et simple.

Dit autrement: dur, abrasif, non diplomatique.

La chose difficile à apprendre pour nous les programmeurs est que les êtres humains ne sont pas des machines. Ils ne sont pas intéressés par la vérité nue. Les êtres humains sont des animaux sociaux et nécessitent un bon niveau de diplomatie pour communiquer.

Certains vont même jusqu'à dire que le véritable but de la communication n'est pas de transmettre des informations, mais de renforcer l'amitié. Je n'irais pas aussi loin, surtout dans un cadre professionnel, mais c'est quelque chose que vous ne devez jamais oublier: même dans des circonstances où rien n'est dit sur vous, "direct, honnête et direct" peut en fait laisser les gens mécontents de vous , ce qui peut nuire à vos relations de travail plus tard. Idéalement, vous voudriez toujours prendre en sandwich une couche de critique entre les couches de compliments.

Vous pouvez être direct, honnête et direct sans être dur, abrasif ou non diplomatique.Je pourrais même dire que qualifier ces choses de durs, d'abrasifs et de non diplomatiques est en soi dur, abrasif et non diplomatique.
Seth R
2017-10-21 01:23:24 UTC
view on stackexchange narkive permalink

Ce qui est considéré comme un langage approprié pour un commentaire dépendrait entièrement de la culture de votre entreprise, mais appeler simplement le code de quelqu'un "poubelle" (et les crochets suggèrent que vous avez en fait utilisé un autre mot moins poli) n'est certainement pas très constructif. Cela n'aidera personne à s'améliorer.

Quel était le problème avec le code? Comment auraient-ils pu l'améliorer? Que devrait faire le développeur différemment? C'est la seule information que vous auriez dû inclure. Si c'était si mauvais que d'aller au-delà de la portée d'un commentaire, vous auriez dû écarter le développeur et en discuter en personne.

En tant que chef d'équipe, et celui qui a de l'expérience, il vous incombe d'aider votre équipe s'améliore. C'est ton travail. Les rabaisser dans un commentaire de révision de code n'apporte rien de bon.

J'ai décrit le problème en détail, donc ce n'est pas comme si j'avais montré un examen d'une seule ligne. Il a été entièrement documenté avec des corrections suggérées tout au long.
Une rétroaction constructive faisait partie de l'examen.
@Ostati,, malheureusement, pour la plupart des personnes présentes dans la salle, les plats à emporter ne seront pas les commentaires constructifs ou les corrections entièrement documentées, mais plutôt "[garbage] comme ci-dessous".C'est la nature humaine.
@cdkMoose: Je suis d'accord mais ça n'a pas besoin de faire partie du commentaire, c'est mieux sans c'est tout ce que je voulais dire ici.Il a été dit comme "commentaire de révision de code sans retour constructif".
Modifié pour supprimer le bit "pas de rétroaction constructive".Ce n'était pas clair dans votre message d'origine.Le reste de ma réponse tient toujours.
akaioi
2017-10-21 03:51:11 UTC
view on stackexchange narkive permalink

Que feriez-vous de ceci; pourquoi pensez-vous que mon langage n'était pas professionnel?

Alors ... voici l'affaire:

  • Vous êtes le chef d'équipe; cela signifie que vous êtes censé constituer l'équipe, pas la battre.

  • Le code est le travail du développeur; le qualifier de poubelle par écrit devant ses pairs est un coup dur.

D'accord, c'est la partie qui répond directement à la question. OK pour arrêter de lire maintenant. Partie suivante ... qu'auriez-vous pu faire différemment?

  • Gardez les suggestions détaillées, elles sont bonnes

  • Dans le ' dans l'ensemble ', disons que ce fichier ne suit pas les meilleures pratiques selon les notes détaillées ci-dessous

  • Faites une pause, soit 1-1 avec le gars, soit une session de formation avec le l'équipe pour passer par les meilleures pratiques. En d'autres termes, transformez cette erreur en opportunité

Juste mes deux éléments, yo.

L'accent que vous mettez sur la position de leadership du PO est essentiel.Je peux imaginer une situation où il serait approprié de qualifier de poubelle de code d'un pair (si son déploiement sera une catastrophe et que vous devez choquer le leadership pour qu'il bloque son déploiement), mais vraisemblablement le chef d'équipe est capable de bloquer le déploiement du code problématique.
Frank Hopkins
2017-10-21 03:50:27 UTC
view on stackexchange narkive permalink

Cela dépend beaucoup de la culture d'entreprise. Cependant, il y a quelques éléments généraux à considérer. Il y a principalement deux raisons pour lesquelles appeler du code garbage peut être considéré comme non professionnel:

  1. Cela ne donne pas - en soi - un aperçu de ce qui est mauvais ou comment améliorer la situation, il donne juste ce code une valeur (faible), alors que généralement vous voulez regarder ses avantages et ses inconvénients plutôt que de la considérer comme généralement mauvaise ou bonne
  2. cela peut être offensant pour un collègue, c'est-à-dire la personne qui a écrit ce code

Quant à 1), cela peut être atténué en fournissant des détails concrets sur ce que vous pensez être mauvais et comment y remédier. En règle générale, il y a des raisons pour lesquelles les choses sont telles qu'elles sont et ce n'est pas que quelqu'un voulait simplement écrire des ordures. Le code était peut-être parfait pour le travail auquel il était destiné lorsqu'il a été écrit, mais le contexte a changé.

Comme pour 2), si le code auquel vous faites référence est un commit récent d'une personne en particulier, cette personne pourrait se sentir offensée. Surtout s'il avait des raisons d'écrire quelque chose d'objectivement mauvais, comme des contraintes de temps, dont vous ne tenez pas compte. Et souvent, ce qui est une poubelle pour vous est parfait pour quelqu'un d'autre, le qualifier de poubelle ne fait qu'apporter des émotions dans ce qui autrement aurait pu être une discussion objective bien fondée. À l'autre bout du spectre - si vous reprenez une ancienne base de code volumineuse que personne dans l'équipe actuelle ne considère déjà comme «son code», il est assez impersonnel d'appeler ce gros tas de déchets de code probablement alambiqués (ne traite toujours pas 1 Cependant, et vous feriez mieux de le sauvegarder) .Un autre problème est de savoir comment vous livrez une ligne contenant des jurons. Le plus chargé émotionnellement (et accusant) le pire, le plus léger, peut-être ironiquement dirigé contre vous-même, le plus acceptable.

Donc, si vous n'êtes pas sûr, n'appelez jamais quelque chose d'ordures. Si vous voulez tester les eaux, commencez à utiliser un langage de valorisation pour le code auquel personne ne se sent attaché (ou à votre propre code) et sauvegardez-vous avec quelques détails sur ce que vous n'aimez pas.

Que les gens réagissent offensés et vous considèrent comme (non) professionnel uniquement en fonction des mots que vous utilisez dépend de la culture de l'entreprise. Cependant, universellement, les gens vous jugeront en fonction de la façon dont vous utilisez vos mots. Si vous appelez simplement stuff garbage sans discuter de votre point de vue, sans accepter un autre argument des développeurs expliquant pourquoi le code est bon tel quel, les gens penseront que vous êtes déraisonnable et critique. Et donc peu professionnel. Surtout si vous blâmez explicitement ou implicitement vos collègues pour ce que vous considérez comme un mauvais code. Cela est vrai que vous utilisiez des jurons ou non, c'est-à-dire dire "ce code est juste mauvais", sans autre commentaire, n'est pas non plus professionnel, mais plus vous utilisez des mots chargés d'émotion (et plus vous les présentez émotionnellement), plus cela empire.

Cela étant dit, si vous utilisez des mots grossiers de manière raisonnable sans les diriger vers votre collègue -travailleurs mais plutôt pour donner du poids à vos impressions ou évacuer une certaine frustration, cela peut être tout à fait correct. J'ai travaillé dans un environnement où le ton était très direct, ludique et les phrases souvent pleines de jurons. Mais typiquement, un tel juron était dirigé vers des problèmes techniques, la façon dont certains frameworks se comportaient de manière imprévisible ou même à son propre code ("Regardez les ordures que j'ai faites là-bas, c'est incroyable que j'ai écrit ce truc!"). D'un autre côté, j'ai rarement vu une équipe travailler avec autant de professionnalisme - se respecter mutuellement, toujours chercher comment résoudre le problème et non comment répartir le blâme.

TLDR : utiliser des jurons pour décrire du code n'est pas nécessairement non professionnel en soi. Dans certains contextes culturels, cependant, toute utilisation de jurons est considérée comme non professionnelle / offensive. C'est votre travail de déterminer si c'est le cas dans votre environnement avant de les utiliser, ne pas faire cela en premier n'est pas professionnel. Si le code (d'une autre personne) est absolument valorisé, en utilisant des jurons ou non, sans a) donner des détails et b) sans séparer cette critique de la personne et c) sans savoir que l'autre personne peut séparer la critique de son code et la critique d'elle-même, ce n'est pas non plus professionnel. Dans votre entreprise actuelle, les gens ne sont évidemment pas habitués aux jurons / jurons et considèrent qu'il s'agit d'un mauvais comportement - alors ne le faites pas.

user81330
2019-02-14 19:17:50 UTC
view on stackexchange narkive permalink

Vous avez envoyé ce commentaire dans la mauvaise direction

Lors de la première lecture de votre message, j'ai supposé qu'il s'agissait d'un commentaire adressé à votre direction, et ma première réaction a été "Eh bien, si n'aime pas la vérité - ils devraient cesser de forcer votre équipe à utiliser des métriques aussi stupides. "

Et si c'était la situation réelle (que le commentaire remontait dans la chaîne ) - ça irait bien. Peut-être un peu peu professionnel , mais de manière réaliste, c'est le moyen le plus simple d'alerter la direction qu'elle est en train de foutre votre équipe.


Cependant, il semble que ce ne soit pas là le commentaire est allé. Au lieu de vous battre au nom de votre équipe contre la direction - pour supprimer des métriques stupides qui, selon votre équipe, provoquent l'écriture d'ordures - vous avez fait le contraire et mettez votre équipe dans un "damné si vous le faites, damné si vous ne le faites pas "situation.

Les métriques pour la qualité du code, je doute qu'elles aient été créées par votre équipe. Ils ont probablement déjà l'impression que ce sont des cerceaux idiots qu'ils sont obligés de franchir.

Leur dire que le code qu'ils écrivent est "garbage"; à cause d'un système sur lequel ils n'ont aucun contrôle - cela signale simplement que vous n'avez pas le dos et que vous ne vous souciez pas de mener leurs batailles.


Le manque de professionnalisme, et où le problème a provient de, n'est pas simplement le libellé du commentaire. C'est le sentiment que vous allez baiser votre équipe dans les deux sens.

À juste titre, ils vous ont tenu tête à ce sujet. Leur réponse est en fait "essayez de nous blâmer pour cela, et nous expliquerons très clairement en quoi cette situation est de votre faute."

Le langage que vous avez utilisé leur a peut-être donné plus de arguments pour vous combattre sur - mais ce n'est absolument pas la raison principale pour laquelle vous obtenez un rejet.

BestGuess
2019-02-14 19:41:12 UTC
view on stackexchange narkive permalink

Outre le langage offensant, votre commentaire contient également zéro contenu sur ce qui ne va pas dans le code et contient un sous-texte qui s'oppose aux objectifs de votre équipe.

Si l'amélioration du score de qualité du code

L'objectif collectif est donc d'améliorer la qualité du code. Pourquoi ne dites-vous pas "Nous voulons améliorer la qualité du code" alors? Pourquoi prenez-vous cet extrait de code comme un argument pour ne pas améliorer la qualité du code.

Pour moi (en tant que développeur moins expérimenté que vous), cela ressemble à un commentaire de quelqu'un qui est habitué à ses anciennes méthodes et qui n'accepte pas le changement (même s'il est surnommé "la qualité du code").

nous devons introduire des ordures comme ci-dessous

Vous avez peut-être déjà compris qu'appeler des choses que d'autres personnes écrivent "garbage" n'est pas un bon moyen d'obtenir l'approbation, vous ne fournissez absolument aucune information sur les raisons pour lesquelles quelque chose pourrait être faux avec les "ordures comme ci-dessous", à part le fait que cela vous a frotté dans le mauvais sens.

Un développeur LEADING avec 15 ans d'expérience devrait être en mesure de fournir plus d'informations que d'appeler quelque chose de "garbage".

alors nous avons de sérieux problèmes.

Pourquoi? Pourquoi? Pourquoi? Utilisez votre expérience pour identifier le problème au lieu de simplement dire qu'il y en a un. Et si vous êtes vraiment aussi bon dans votre travail, indiquez une meilleure solution, afin que votre équipe sache où elle se dirige.

Désolé, mais votre commentaire (extrait) est vraiment nul. De par sa définition même, il peut être jeté dans la poubelle.

Concernant la mise à jour 1 : si votre commentaire complet était détaillé et fournissait toutes les informations. Pourquoi était-il nécessaire d'insulter le développeur (et de remettre en question les objectifs de votre équipe) en plus?

Dan
2019-02-15 23:47:52 UTC
view on stackexchange narkive permalink

Si l'amélioration du score de qualité du code signifie que nous devons introduire des déchets comme ci-dessous, alors nous avons de sérieux problèmes.

Il y a certaines situations où le code peut être appelé «garbage». Tels que l'allocation de mémoire ou le code inaccessible. Cependant, je ne pense pas que vous le pensiez de cette manière.

Cependant, je pense que vous devriez utiliser les termes appropriés lorsque vous vous référez à certains styles de programmation. Les choses que je vois principalement sont des conditions de course, des vérifications conditionnelles de boucle racontent le tableau chaque boucle quand elle ne change pas, etc. Je voudrais commenter spécifiquement ce qui ne va pas, ou si des fonctions alternatives peuvent être utilisées pour l'écrire.

J'adore cette réponse.Garbage signifie en fait quelque chose dans le codage!
Karl Bielefeldt
2019-02-16 00:23:46 UTC
view on stackexchange narkive permalink

La plupart des autres réponses étaient antérieures à votre modification concernant ce code suggéré par un outil automatique, alors laissez-moi aborder cette partie spécifiquement.

Vous avez estimé que ce code était un jeu juste pour des critiques plus sévères car il provient d'un outil, pas d'un humain, mais vous n'avez pas pensé:

  • Un ou plusieurs humains ont pris la décision de donner à cet outil un rôle important dans l'évaluation de la qualité du code.
  • Un humain a décidé de copier / coller la suggestion de l'outil au lieu de résoudre le problème de qualité d'une manière plus lisible, soit parce que cela ne lui venait pas à l'esprit, cela pourrait être mieux fait, soit il ne savait pas comment pour mieux le faire.

En d'autres termes, il y a encore des décisions humaines dans la boucle qui sont prises dans le dénigrement. Je formulerais plutôt votre objection comme suit:

Je ne pense pas que la suggestion de l'outil de qualité soit très utile dans ce cas particulier, et cela me frustre que l'outil soit si souvent trompeur comme celui-ci. Ce n'est pas évident, mais le problème sous-jacent pourrait être résolu de manière plus lisible en…

Cela montre clairement que votre frustration provient de l'outil de qualité et non de l'auteur du code, et émet votre critique constructif en offrant un moyen de résoudre le problème.

Bien dit.Quelqu'un a personnellement ou avait un intérêt dans tout dans l'entreprise.Même certains correctifs / processus / outils exigés par la conformité et dictés de l'extérieur de l'entreprise ont toujours quelqu'un dans l'entreprise qui - même s'ils se sentent mal à ce sujet - est obligé de forcer tout le monde à s'y conformer.Ainsi, même dans les meilleures conditions, vous mettez en évidence une part triste du travail de quelqu'un.


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...