L'art des critiques de code : comment j'ai appris à dépasser mon ego

Linda Hamilton
Libérer: 2024-10-12 06:33:02
original
181 Les gens l'ont consulté

The Art of Code Reviews: How I Learned to Grow Beyond My Ego

Les révisions de code peuvent être les expériences les plus humiliantes et transformatrices dans la vie d'un développeur. Lorsque j’ai rejoint une équipe pour la première fois en tant que développeur junior, je n’avais qu’une compréhension superficielle du concept. Cela me semblait être une opportunité d’afficher ma maîtrise d’un code élégant ou, à l’inverse, une invitation à me protéger de toute critique potentielle. Je ne comprenais pas qu'une révision du code ne consistait pas seulement à signaler des inefficacités, mais à favoriser la collaboration et à pousser tout le monde, y compris moi-même, vers la croissance.

À mes débuts, les révisions de code semblaient difficiles. Je soumettais mon travail, puis rafraîchissais anxieusement ma boîte de réception pour voir les commentaires de mes pairs. Au début, ça faisait mal de voir mon code déchiré, et j'ai pris les commentaires personnellement. Je me souviens d'un cas où mon patron a laissé un long commentaire sur ma pull request, expliquant comment ma mise en œuvre avait créé des effets secondaires involontaires dans différentes parties de notre système. Ses paroles étaient polies mais fermes – il avait raison et l’erreur que j’avais commise était un oubli fondamental.

# My initial implementation

def process_data(data):
    result = []
    for item in data:
        if validate(item):
            process_item(item)  # This function had unintended side effects
            result.append(item)
    return result

# Feedback: The process_item function was modifying shared state, which caused issues in other parts of the system.
Copier après la connexion

Ce commentaire particulier m'a donné l'impression d'avoir échoué non seulement moi-même mais aussi mon équipe. Je me suis retiré au cours des jours suivants, évitant tout contact visuel avec mon patron et donnant des réponses brèves à mes collègues. Je pensais qu'ils me considéraient comme un handicap. La prochaine session de révision du code approchait et j'étais rempli d'effroi.

Un jour, mon collègue Sam a remarqué mon comportement et m'a pris à l'écart. Il a expliqué comment il avait commis des erreurs similaires au début – souvent pires, a-t-il admis avec un sourire. "Le fait," a-t-il déclaré, "c'est que la révision du code n'a pas pour but de prouver que vous êtes la personne la plus intelligente de la salle. Il s'agit plutôt de s'assurer que nous réussissons tous ensemble." Il m'a encouragé à considérer chaque commentaire comme une opportunité plutôt que comme une évaluation de mes compétences. Les paroles de Sam ont vraiment changé mon état d'esprit.

Mon point de vue sur les révisions de code a évolué et j'ai décidé d'adopter la vulnérabilité. La prochaine fois que j’ai reçu des commentaires, je n’ai pas hésité à commettre des erreurs. J'ai commencé à répondre aux commentaires, à poser des questions de clarification et à contribuer activement aux demandes de tirage des autres. Cette ouverture a fait des merveilles. Non seulement je me suis senti devenir un meilleur développeur, mais mes relations au sein de l'équipe ont commencé à s'épanouir. Au lieu de redouter les révisions de code, j'ai commencé à les considérer comme des opportunités d'avoir des conversations éclairantes avec mon patron et mes collègues.

J'ai vécu un moment particulièrement doux lors d'un gros projet. J'avais proposé une nouvelle architecture pour résoudre un problème qui tourmentait notre système depuis des semaines. C’était différent, non prouvé et risqué. Les commentaires de révision étaient pleins de questions et de doutes, mais au lieu de devenir sur la défensive, j'ai utilisé les commentaires pour itérer sur la solution. Lorsqu'il a finalement été approuvé, mon patron m'a envoyé un message simple : "Beau travail. Cela fera une réelle différence."

# Improved implementation after feedback

def process_data(data):
    result = []
    for item in data:
        if validate(item):
            item = process_item_safely(item)  # Updated to avoid side effects
            result.append(item)
    return result

def process_item_safely(item):
    # A safer version of process_item that doesn't modify shared state
    new_item = item.copy()
    # Processing logic here
    return new_item
Copier après la connexion

Ce message signifiait beaucoup pour moi, car il ne s'agissait pas seulement de la proposition technique, c'était une reconnaissance de combien j'avais grandi en termes de collaboration et de maturité. Les révisions de code m'ont appris à détacher mon ego de mon travail et à être réceptif au point de vue des autres. Ils ont fait de moi un meilleur programmeur, un meilleur communicateur et, surtout, un meilleur coéquipier.

Mon conseil ? N'ayez pas peur des commentaires. Ne laissez pas votre ego éclipser votre potentiel de croissance. Acceptez l’examen minutieux, même lorsque cela est inconfortable. Vous serez surpris de voir tout ce que vous apprenez et comment cette expérience approfondit vos relations professionnelles, créant des liens fondés sur une croissance et un apprentissage partagés.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!