Le problème: deux développeurs => trois opinions sur l'indentation, les accolades sur une nouvelle ligne ou non, etc.
Nous travaillons généralement avec trois ou quatre personnes sur nos projets et chacun d'eux a son propre style de code. Je sais, la solution commune est de s'entendre sur un style de code, tout le monde doit l'utiliser, mais je ne veux pas forcer les programmeurs créatifs dans un costume qui ne leur convient pas.
La question est donc: existe-t-il un moyen de laisser chaque programmeur vivre son propre style, mais avoir une base de code commune à l'intérieur du référentiel? Je pense à un plugin git / svn / que ce soit, qui change entre le style personnel et commun lors du paiement et de la validation. Il me semble que la partie délicate de cette approche est de prendre en charge les différences correctes entre les versions d'un fichier
Réponses:
Non, vous devrez établir une norme. Si vous avez un membre de l'équipe B modifié (soit avec un outil IDE automatisé, soit manuellement), un tas de code de membre de l'équipe A a écrit, qui sera validé et affiché comme un changement.
C'est quelque chose que presque toutes les équipes doivent affronter et les normes sont "forcées" pour cette raison. Je vous suggère de suivre les normes des autorités linguistiques comme base et de les adopter en fonction de votre équipe.
Un style de codage cohérent contribuera également à la maintenabilité du projet et réduira la barrière à l'entrée pour les nouvelles personnes travaillant sur le code.
la source
Non, vous devrez définir une norme de codage (de préférence qui existe déjà) et faire en sorte que vos développeurs y adhèrent. Être un programmeur professionnel signifie que vous pouvez vous adapter à la norme de codage utilisée dans le projet sur lequel vous travaillez.
la source
go fmt
. Voir golangtutorials.blogspot.fr/2011/06/…OUI, cela peut fonctionner tant que les styles sont tous raisonnables et que les gens ne changent pas le code des autres pour correspondre à leurs préférences et / ou mélanger les styles dans un seul fichier de code.
Ce n'est pas idéal, mais ce n'est pas différent d'hériter de l'ancien code créé à un "standard" différent du vôtre et de devoir l'intégrer à votre base de code.
Donc, si vous devez le faire, quelques lignes directrices:
la source
La réponse courte est non.
Alors que les opinions doivent être valorisées dans le travail, en particulier dans un travail basé sur la connaissance tel que le développement de logiciels, les développeurs doivent se rendre compte qu'une opinion n'est qu'une opinion et qu'ils sont là pour écrire des logiciels sans discuter de la norme d'indentation de ligne qui est la meilleure.
L'objectif d'un document sur les normes devrait être de faire appliquer / suggérer un ensemble de normes / conventions de codage communes
Les documents sur les normes contribuent à garantir que le code est facile à lire, à maintenir et cohérent dans ses conventions.
Ceci est inestimable lors de la révision du code avant les enregistrements, du débogage du code ancien ou de la modification du code plusieurs années après que le développeur d'origine a quitté l'entreprise.
Normalement, lors de la création d'un document sur les normes de codage, j'examine les normes de l'industrie pour le langage que j'utilise (C, C #, SQL), j'utilise les normes les plus appropriées, je les transmets aux développeurs les plus expérimentés / influents pour commenter, j'intègre les commentaires le cas échéant, puis libérer le document.
la source
Le reformatage automatique du code avant qu'il ne soit validé dans votre système de contrôle de version est théoriquement possible.
pourtant , il y a un gros problème: les outils de formatage automatique de code ne sont pas fiables à 100%. Ainsi, vous pourriez réellement introduire des problèmes dans votre code avec ce système. Dans mon esprit, cela tue l'idée. Il est toujours plus important d'avoir du code fonctionnel que du code correctement conçu!
Si le projet est compartimenté et que la plupart des parties du code ont tendance à être «détenues» par des programmeurs individuels, il peut être acceptable de les laisser utiliser leurs propres styles (dans des limites raisonnables). Cependant, si plusieurs personnes travaillent fréquemment sur le même morceau de code, il est probablement nécessaire d'appliquer un style.
Voici une discussion similaire sur Stack Overflow .
la source
Le reformatage automatique unidirectionnel peut être une solution viable si vous:
Rien de tout cela n'est en fait facile à faire dans de nombreux cas, alors pensez à choisir vos batailles ici! J'ai vu des équipes le faire avec succès pour un projet C # /. NET où le reformatage s'est déjà produit sur le PC du développeur, donc c'est possible dans certaines circonstances.
la source
vous le pouvez absolument. Il s'agit de ne pas transpirer les petites choses.
La seule norme qui importe est de "conserver vos modifications dans le même style que le code existant". Tant que vous pouvez vous adapter à un style de codage qui n'est pas votre préféré, vous pouvez travailler avec n'importe quel style de codage.
Alors, quel est l'intérêt de travailler dans 3 styles différents au sein d'une même entreprise. Vos développeurs ont besoin de comprendre que l'écriture de code à leur guise est de trouver leur code, mais une fois qu'ils ont apporté des modifications à un fichier différent qui utilise un style différent, ils ont maintenir ce style (ou ça va vraiment mal paraître) . Aucun reformatage n'est autorisé (ou ils se reformateront continuellement et les différences scm seront inutiles) (et si vous faites cela, alors un formatage automatique devrait être utilisé).
Il y a de fortes chances qu'une fois qu'ils y parviennent, ils parviendront à un consensus sur le style à utiliser ou ils dériveront ensemble pour la plupart. S'ils vont être enfantins à ce sujet et se reformateront le code les uns des autres tout le temps, alors il sera temps de télécharger une norme sur Internet et d'exiger qu'ils l'utilisent. Vous voudrez peut-être le faire de toute façon, juste pour l'agiter dans leurs visages comme une carte "jouer gentil ou bien".
la source