Comment travaillez-vous avec un programmeur avec un style de codage radicalement différent? [fermé]

StackOverflow https://stackoverflow.com/questions/2146940

  •  23-09-2019
  •  | 
  •  

Question

Quelqu'un at-il travaillé avec un programmeur avec un style de codage radicalement différent? Comment jive-vous ensemble sans vouloir supprimer et réécrire chaque code d'autres?

Était-ce utile?

La solution

Choisissez l'un et aller avec elle.

Si vous trouvez qu'il est difficile d'accepter, prendre le temps de la liste des avantages et des inconvénients, notamment:

  • support d'outil pour la mise en forme automatique ( désinvoltes Je sais Eclipse et Visual Studio peut le faire avec un fichier de paramètres )
  • conformité à la norme générale de l'industrie ( Sun ont publié des conventions standard pour Java, peut-être il y a un équivalent dans votre langue? )
  • conformité, ou le coût de la modification, la source pré-existante ( si vous avez un million de lignes dans un style, à quel point il sera de mettre à jour ce code au nouveau style? )
  • ... tout autre facteur qui soit de vous trouver est important ( cela peut inclure le coût pour se familiariser avec le nouveau style )

Si vous vous trouvez travailler avec quelqu'un pour changer et adapter trop têtu, eh bien, vous avez un problème plus important que heurtant le style de code, et de traiter c'est hors de portée pour cette question.

Si vous êtes la personne pour adapter votre style, éviter la mention « Eh bien, si nous avions choisi mon chemin ... ». Si vous avez accepté un style unique, entièrement engager.

Avant d'arriver à ce point cependant, vous devriez probablement vous demander: quels sont les avantages d'avoir un code cohérent? Vous pouvez constater que le coût d'un code cohérent (gênant l'autre développeur) ne vaut pas l'avantage.

Autres conseils

Nous sommes d'accord sur un style de codage standard et imposons sous la forme de fichiers de paramètres Visual Studio.

C'est une question de la communication humaine. Il suffit de parler les uns aux autres. Non par le code, en personne.

Communiquer avec l'autre développeur. D'accord sur un style de codage qui combine le meilleur des deux mondes?

Quand vous dites « style de codage » voulez-vous dire le formatage ou une différence dans la façon dont vous structurez votre code?

En ce qui concerne le style de codage, l'équipe devrait probablement avoir un formatter style et appliquer une sorte de format avant de commettre. cette façon fusionne ne conduira pas la fusion folle.

Pour la différence structurelle dans le code, je crains qu'il n'y ait pas de solution facile. Si l'on est un codeur de spaghetti de noyau dur, par rapport à codeur un objet fanatique, vous devez vous asseoir à une table et de discuter les deux approches et leur application sur votre projet. Rappelez-vous qu'il n'y a pas de réponse absolue, tout dépend du contexte. Essayez aussi avoir recours à quelqu'un vous deux ce qui concerne les meilleures pratiques recommand, faire la révision du code de validation de code, et déterminer une approche commune (responsable technique ou technologie PM).

  • en utilisant l'IDE en combinaison avec des plugins de vérification de style (Dans le cas de Java - Checkstyle, PMD) le chef d'équipe, ou même le chef de projet (si une personne technique) peut forcer les lignes directrices de style de code sur toute l'équipe .

  • simplement ignorer son style - j'ai travaillé sur des projets Java où certains développeurs ont été mettre les accolades sur une nouvelle ligne, et ont tendance à oublier les espaces où ils sont généralement nécessaires - et je ne me pose aucun problème après la semaine de poing.

  • discuter des codes-styles et de compromis, puis appliquer les capacités IDE mentionnées dans le premier point.

Je vais répondre sur les « compétences » requises pour se entendre avec quelqu'un qui a très différent style de codage qui me. En général, j'essaie de se concentrer sur trois principes simples; le professionnalisme, la confiance et l'ego.

En termes de professionnalisme, ce simple, inacceptable pour simplement réécrire ou supprimer le code de quelqu'un parce que leur style est différent du vôtre. Une approche professionnelle serait d'abord comprendre pourquoi je considère mes idées / style / préférences pour être mieux. Ensuite, je me attends à s'asseoir avec l'autre et de discuter de mes points et, voici la partie importante, garder un esprit ouvert. Juste parce que j'aime mon idée ne signifie pas qu'il est juste ou correct. Un vrai professionnel sera en mesure et prêt à accepter que les idées des autres sont tout aussi précieux et proviennent d'une autre perspective.

Je dois personnellement à faire confiance à mes collègues développeurs. Le vieil adage est que la confiance doit être gagnée et pas apporté cela est vrai pour le développement de logiciels. La confiance peut être construite à partir d'une variété de sources telles que le partage d'information idées et du code. Une équipe de production a généralement un niveau implicite de confiance entre ses développeurs.

L'une des principales raisons pour que les gens ne reçoivent pas est le long de l'ego. Nos egos nous permettent de se sentir menacé, supérieur, embarrassé et une variété d'autres émotions humaines. Laissant nos egos de côté et parler de nos problèmes avec l'autre personne est toujours un bon point de départ.

Votre style de codage n'est pas la norme. Son style de codage n'est pas la norme. norme est le style de codage choisi par le projet ou, parfois, toute l'organisation (et qui devrait être documenté quelque part) et tous les deux doivent se conformer à elle. Des outils tels que Checkstyle (avec Java) peuvent être utilisés pour assurer la conformité. Si vous utilisez un tel outil, distribuer son fichier de configuration. distribuer également des fichiers pour la mise en forme IDEs configuration.

De nombreux projets open source (ou des entreprises) n'utiliser ces principes (voir par par exemple XWiki conventions Maven style code et le code ou Apache développeur en langage C Guide de style ). Cela fonctionne pour les développeurs répartis dans le monde entier, ne me dites pas cela ne peut pas travailler pour les développeurs dans une même pièce.

Si votre projet n'a pas de normes de code, alors il est temps peut-être de définir certains et j'espère que vous serez en mesure de le faire comme deux adultes (en fait, cela devrait être une décision d'équipe). Si nécessaire, rappeler pourquoi un style de code unifié est important (pour une meilleure lisibilité, pour les diffs). Si, malheureusement, cela ne fonctionne pas, alors avoir un patron pour vous décider.

Je dois travailler avec les développeurs qui ont tous les jours très différents styles de codage à la mienne et en tant que développeur, vous apprendre à y faire face.

Vous avez 4 choix, - soit vous les convertir - vous êtes converti - vous proposez une norme d'entreprise. - vous vivre avec

.

Si c'est quelque chose comme préfixer la variable avec le type, font valoir le point qu'une variable doit être suffisamment descriptif pour qu'il type peut être déduit.

personName vs vs sPersonName strPersonName <- qui choisiriez-vous

si vous voulez dire le formatage, ctrl-a, k f <- formate votre code bien dans VS:)

Je trouve rare qu'il n'y a qu'un seul autre développeur avec qui je suis d'accord sur les styles de codage, et que différents groupes ou projets ont des styles différents. Vous devez apprendre à adapter à différents styles de codage.

S'il y a seulement deux d'entre vous, alors il y a seulement deux d'entre vous qui ont besoin de se mettre d'accord sur le style de codage commun que vous allez utiliser.

Si vous ne pouvez pas d'accord sur un style de codage, alors il vous suffit de faire face. Essayez de travailler d'une manière qui est productive -. Et cela signifie ne pas réécrire le code de l'autre personne juste pour obtenir votre style pour correspondre

Il peut y avoir des aspects stylistiques qui sont gênants, et il est préférable de se concentrer sur ceux-ci. Le style peut facilement se transformer en une discussion religieuse, il est souvent plus efficace de se concentrer sur des arguments quantitatifs ou empiriques des changements. Elegancy et la beauté physique de votre code ne peut pas gagner l'argument -. Mais montrant les cas où un changement de style aurait tête le débogage inutiles peuvent être efficaces

Cela dépend.

Si l'autre développeur est pas particulièrement facile à vivre, alors je tendance à aller juste avec leur style de programmation, même si je suis en désaccord avec elle plutôt que de forcer la main - dans ce cas, il est vraiment une question de ce qui est plus mal à l'aise , leur style de codage ou de la douleur que je vais en faire toute une histoire?

Si l'autre développeur est plus ouvert d'esprit alors je pourrais discuter des choses comme des normes de codage / nommage (j'espère que des choses comme l'architecture d'ensemble seront examinés de toute façon)

Vous devez inventer un style approprié pour vous deux et de s'y tenir. Et si la communication est un problème, il suffit de coller à une idée: « quand j'écris mon propre, je ne touche pas l'autre code »

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top