Je travaille sur une petite équipe, environ 10 développeurs. Nous n'avons aucune norme de codage. Certaines choses sont devenues la norme, mais certaines façons de faire sont complètement disparates. Mon plus gros problème est l'indentation. Certains utilisent des tabulations, d'autres des espaces, d'autres utilisent un nombre différent d'espaces, ce qui crée un énorme problème. Lorsque je fusionne, je suis souvent confronté à des conflits parce que quelqu'un utilisait son IDE pour se formater automatiquement et utilisait un caractère différent du mien pour l'indentation. Je me fiche de savoir qui nous utilisons, je veux juste que nous utilisions tous le même.
Ou bien je vais ouvrir un fichier et certaines lignes ont des accolades sur la même ligne que la condition alors que d'autres les ont sur la ligne suivante. Encore une fois, je ne me soucie pas de savoir lequel, pourvu qu'ils soient tous identiques.
J'ai abordé la question des normes avec mon supérieur hiérarchique direct, individuellement et lors de réunions de groupe, et il ne s'en préoccupe pas excessivement (plusieurs autres partagent le même point de vue que moi). J'ai évoqué ma préoccupation spécifique concernant les caractères d'indentation et il a pensé qu'une meilleure solution consisterait à "créer une sorte de script capable de convertir tout cela lorsque nous poussons / retirons du repo". Je soupçonne qu'il ne veut pas changer et que cette solution semble trop compliquée et sujette à des problèmes de maintenance à l'avenir (cela ne concerne également qu'une manifestation d'un problème plus vaste).
L'un de vous a-t-il rencontré une situation similaire au travail? Si oui, comment l'avez-vous géré? Quels seraient les bons points pour aider à vendre mon patron sur des normes? Lancer un mouvement populaire pour créer des normes de codage, parmi ceux d’entre nous qui sommes intéressés, serait une bonne idée? Suis-je trop particulier, devrais-je le laisser aller?
Merci à tous pour votre temps.
Remarque: Merci à tous pour les bons commentaires reçus jusqu'à présent! Pour être clair, je ne veux pas dicter Un style pour les gouverner tous. Je suis prêt à concéder ma manière préférée de faire quelque chose en faveur de ce qui convient le mieux à tout le monde. Je veux de la cohérence et je veux que cela soit une démocratie. Je veux que ce soit une décision de groupe sur laquelle tout le monde s’accorde. Certes, tout le monde ne réussira pas, mais j'espère que tout le monde sera suffisamment mûr pour faire des compromis en vue de l'amélioration du groupe.
Note 2: Certaines personnes sont prises dans les deux exemples que j'ai donnés ci-dessus. Je suis plus après le coeur de la matière. Il se manifeste par de nombreux exemples: conventions de dénomination, fonctions énormes qui doivent être décomposées, si quelque chose devait arriver dans un util ou service, si quelque chose devait être constant ou injecté, si nous utilisions tous des versions différentes d’une dépendance ou du même, si interface soit utilisé dans ce cas, comment les tests unitaires doivent-ils être configurés, ce qui doit être testé, (spécifique à Java) doit-on utiliser des annotations ou une configuration externe? Je pourrais continuer.